我已经编写了一些MSpec,但是Visual Studio(2015)测试运行程序无法识别它们。我已经使用NuGet-PM添加了Machine.Specifications.Runner.Console
和所有必需的Machine.Specification
软件包。但是当我选择Test->Run Test
时,甚至没有列出包含mspec的文件。除此以外,是我到目前为止编写的mspec的示例,它位于一个自己的项目/解决方案中,该项目/解决方案包含一些其他(常规单元)测试,所有这些都可以正常运行。
[Subject(typeOf(ControllerForm)]
public class When_file_with_multiple_procedures_is_opened:ControllerFormSpecs
{
static ControllerForm subject;
...
Establish context =()=>
{
subject = new ControllerForm(...);
path="someRandomPath";
};
Because of =()=>
{
subject.OpenFile(path);
}
It should_have_event =()=> subject.eventExist.ShouldBeTrue();
It should_not_have_data =()=> subject.currentNode.ShouldBeNull();
Cleanup after =()=>
{
subject = null;
};
}
我想念什么?
注意:此处不提供使用ReSharper的选项。我知道很多人喜欢它,甚至更多地推荐它,但是我的公司已经拒绝了我的请求。
编辑:使用'Machine.Specifications.Console.Runner',您必须牢记以下几点:
1)将控制台的工作目录更改为一个目录,其中存储了所有mepcc.exe文件(在我的情况下为c:\projects\...\Source\packages\Machine.Specifications.Runner.Console.versionnumber\tools
)
2)根据您的调试选项选择正确的.exe文件(在我的情况下为mspec-x86.exe
)
3)作为参数,您现在必须将相对路径插入包含mspec的项目的.dll。 (再次以我的情况为例:..\..\..\PluginTests\bin\x86\Debug\PluginTests.dll
扩展名-> ReSharper->扩展管理器
并搜索/安装“ Machine.Spec for ReSharper”]