我最近安装了Visual Studio 2013,CodeLens太棒了!我发现的问题是,每当我打开一个包含方法的类文件时,如果没有在MSTest中编写,它似乎找不到与该方法关联的单元测试。 我有什么必须这样做才能找到像MSpec这样的其他单元测试吗?
是否因为机器规格在创建单元测试与MSTest或其他测试框架时有不同的方法?
答案 0 :(得分:3)
测试者和测试状态指示器由测试资源管理器提供支持。
因此,如果您的MSpec测试显示在测试资源管理器中并且是用C#或VB编写的,那么它们也应该显示在CodeLens中。
(与Visual Studio 2013 feature Code Lens with NUnit相同的答案)
我只是通过在扩展管理器中安装Nunit和Nunit扩展,在干净的机器上使用NUnit。这里Main
显示一个参考和一个通过测试,测试本身在成功运行后显示复选标记。
答案 1 :(得分:1)
我做了同样的事情,约翰加德纳在他的回答中表示,除了我把它分成2个项目(模仿我在真实解决方案中使用的设置)。起初,即使我能在Test Explorer中看到测试,它也无法正常工作。经过一番搜索后,我偶然发现了正确的答案。
事实证明你需要:
(1)创建一个新的单元测试项目(不是类库)
(2)将NUnit引用添加到Unit Test项目(我使用NuGet)并在VS2013中安装NUnit Test Adapter
(3)将测试移至新项目
(4)保存并构建后,现在您可以返回生产代码并查看“x / y传递”消息,并在“测试资源管理器”窗口中查看单元测试。
我们大多数长期使用NUnit的人都习惯为我们的代码而不是单元测试项目创建类库。如果CodeLens文档实际上直接涵盖了这一点会很好(文档说明“测试状态指示器会自动出现在测试项目中”,这是我的线索)。