艾伟:为WPF项目创建单元测试
2011-08-29 00:01
274 查看
可能你已发现一个问题,我们无法使用VS对WPF项目创建单元测试(VS2005不行,VS2008我没试过,但据说也不行),这让人很郁闷,这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样容易,可能会出现一些小问题).
1,对普通类(非WPF UI组件)进行测试:
这和在.Net2.0中使用NUnit进行测试时一样,不会出现任何问题,参考下面的代码:
2,对WPF UI组件进行测试
使用NUnit对WPF UI组件(比如MyWindow,MyUserControl)进行测试的时候,NUnit会报如下异常:“The calling thread must be STA, because many UI components require this”。
下面是错误的测试代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Security.Permissions;
using System.Reflection;
namespace TestUnit
并编写正确的测试代码:
另外,使用NUnit时,您需要添加对nunit.framework.dll的引用,并对测试类添加[TestFixture]属性标记以及对测试方法添加[Test]属性标记,然后将生成的程序集用nunit.exe打开就可以了,关于NUnit的具体用法您可以参考其官方文档。
1,对普通类(非WPF UI组件)进行测试:
这和在.Net2.0中使用NUnit进行测试时一样,不会出现任何问题,参考下面的代码:
[TestFixture] public class ClassTest
2,对WPF UI组件进行测试
使用NUnit对WPF UI组件(比如MyWindow,MyUserControl)进行测试的时候,NUnit会报如下异常:“The calling thread must be STA, because many UI components require this”。
下面是错误的测试代码:
[TestFixture] public class ClassTest
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Security.Permissions;
using System.Reflection;
namespace TestUnit
并编写正确的测试代码:
[TestFixture] public class ClassTest
另外,使用NUnit时,您需要添加对nunit.framework.dll的引用,并对测试类添加[TestFixture]属性标记以及对测试方法添加[Test]属性标记,然后将生成的程序集用nunit.exe打开就可以了,关于NUnit的具体用法您可以参考其官方文档。
相关文章推荐
- 为WPF项目创建单元测试
- 为WPF项目创建单元测试
- 为WPF项目创建单元测试
- 为WPF项目创建单元测试(转)
- 为WPF项目创建单元测试
- 为WPF项目创建单元测试
- 为WPF项目创建单元测试 (zz)
- WPF入门教程系列(一) 创建你的第一个WPF项目
- 解决WPF项目中无法创建程序集问题
- WPF入门教程系列(一) 创建你的第一个WPF项目
- WPF入门教程系列(一) 创建你的第一个WPF项目
- springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试
- 转载WPF:创建你的第一个WPF项目
- WPF 使用ComponentResourceKey,隐藏代码,generic创建项目共享Resource
- WPF入门教程系列(一) 创建你的第一个WPF项目
- 创建你的第一个WPF项目
- 艾伟:基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计
- WPF入门教程系列(一) 创建你的第一个WPF项目
- 演练:在 Visual Studio 中创建一个带单元测试的基本 MVC2 项目
- Maven的安装配置及初次创建项目与java单元测试工具JUnit