WPF/Silverlight混合控件的单元测试

3
我正在开始一个新的WPF / Silverlight自定义控件项目,并希望对其进行单元测试。然而,我对如何处理此事有些困惑。
该控件将基于相同的代码库,用 #ifs 和部分类来处理差异,以便在WPF和Silverlight中使用。我猜我可以使用NUnit、MSTest、xUnit等为WPF部分编写单元测试,并使用Silverlight Unit Test Framework为Silverlight部分编写单元测试,但这听起来对我来说并不是很优雅。我要么忽略在其中一个平台上测试相同的代码并仅测试不同的部分(这不是很可靠),要么为两个框架重写测试(这很烦人)。这是正确的方法吗?
我想知道是否有一些指导、文章、教程可以帮助我解决这个问题。有什么建议吗?
2个回答

0

我并不是WPF和Silverlight方面的专家,但是使用与生产代码相同的技术(如#ifs和partial类)编写测试是否可行呢?


我猜问题在于测试运行器。它们是在完整的.NET上运行的,通常不会运行为Silvelright编译的代码,在我看来。 - Alan Mendelevich
我认为你应该在正常的运行程序(编译为.Net版本)和Silverlight(SL版本)上运行这些测试。我同意运行几乎相同的测试两次很麻烦,但另一方面,你怎么知道所有的#if和编译脚本是否正确呢? - Grzenio
是的,但据我所知,大多数单元测试框架本身都是针对完整的.NET编译的,无法在Silverlight运行时中运行。也许我漏掉了什么或者完全错了,但我是这样看的。 - Alan Mendelevich

0

我最初尝试使用xUnit,但在xUnit和SLUT中使相同的测试工作有点复杂(不同的属性、语法等)。

然后我用MSTest进行了一些基本实验,从非常简单的测试来看,似乎你可以成功地将MSTest用于WPF部分,并使用一些#ifs等代码和SLUT用于Silverlight部分。所以我会尝试走这条路线,并看看它在实际情况下的表现如何。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接