NUnit:可以从我的应用程序中引用类吗?

时间:2011-05-31 15:36:53

标签: c# unit-testing testing nunit 64-bit

我最近遇到了Visual Studio 2008测试框架的问题:testing 64 bit dlls is not possible with VS 2008。我有一个只编译为x64的项目,我需要为项目创建一些单元测试,我不能使用VS2008测试框架来完成它。

随后,我下载了最新的NUnit框架(据我所知,它支持x64测试),但现在我正在尝试复制Visual Studio与其测试框架相同的行为。也就是说,我想实例化我的项目中定义的文本夹具中的类。

以下是一个例子:

  • 我有一个项目(称之为MyProject),它编译为可执行文件:MyProject.exe
  • MyProject中有一个名为MyClass
  • 的类
  • 我有一个单独的测试项目,名为MyProjectTest,它编译成一个dll(所以我可以用NUnit运行它。)
  • 如何在MyProjectTest中实例化MyClass

据我所知,NUnit似乎是为测试DLL而不是EXE而设计的,那么如果我想在EXE中测试类,我该怎么做?反射?我假设这是VS2008的测试框架如何访问类......

2 个答案:

答案 0 :(得分:4)

  

如何在MyProjectTest中实例化MyClass?

执行此操作的常规方法是MyProjectTest项目包含对MyProject的引用

但似乎大多数人不喜欢引用exe的想法,因此会在MyProject和MyProjectTest引用的第三个dll中定义MyClass

  

据我所知,NUnit似乎是为测试DLL而不是EXE而设计的。

我必须承认,我的所有测试都在dll中,但是Nunit Add assembly对话框的默认文件规范是* .dll和* .exe,否则会提示。

答案 1 :(得分:4)

可执行文件和DLL几乎完全相同。存在一些差异,但没有一个可以作为从NUnit测试项目引用可执行文件的障碍。