在代码隐藏文件中执行单元测试

时间:2012-10-18 14:52:26

标签: wpf unit-testing nunit code-behind

我正在使用MVVM模式实现WPF应用程序。

该应用程序基本上是一个通信面板(通信面板),其上面有控制小部件(例如拨号盘,内部通信线路等)。控件小部件也已使用MVVM模式实现,因为这允许我们在个人基础上轻松测试它们。

几个小时前,我发布了here,因为我遇到了问题,以便在DialPad和CommsPanels视图模型之间建立链接。经过与其他SO成员的长时间聊天,我设法让链接正常工作。但是,在这样做时,我在DialPad代码中进行了大量修改,例如摆脱其模型并将viewmodel代码移动到代码隐藏文件。问题是,不是我的单元测试不起作用,主要是因为每次我试图实例化一个从UserControl继承的DialPad代码隐藏类时,NUnit都会抛出一个异常。有没有办法为从WPF类继承的类(如UserControl)编写单元测试?

提前致谢!

2 个答案:

答案 0 :(得分:2)

我找到了答案。请看这个链接:http://nunit.org/index.php?p=requiresSTA&r=2.5

答案 1 :(得分:0)

一种选择是从后面的代码中取出重要的代码并将其放在它自己的类中(不继承自 function NumbersToWords(number) { var numbersArray = [1, 2, 3, 4, 5]; var wordsArray = ["one", "two", "three", "four", "five"]; for (let i = 0; i < numbersArray.length; i++) { number = number.toString().replaceAll(numbersArray[i], wordsArray[i]); } return number; } console.log(NumbersToWords(122)); console.log(NumbersToWords(1224));),然后由后面的代码包装。