我在让 ReSharper 查看我编写的 Machine.Specification“测试”时遇到问题。
规范在 mSpec 的 ConsoleRunner 中运行。当我尝试在 ReSharper 中“运行单元测试”时,我收到一条消息:“在文件中找不到测试。”规范不显示测试标记。
我在 ReSharper/bin/文件夹中创建了一个文件夹,并将适当的 .dll 放在那里。 mSpec 插件出现在 ReSharper 中。
我可能遗漏了什么?
此外,如果有影响的话,我正在使用 xUnit.NET。
最佳答案
ReSharper 运行器不考虑嵌套的上下文类。而不是嵌套上下文类:
namespace SomeNamespace
{
public class Specs
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
}
未嵌套的作者上下文,即 namespace 内的根类:
namespace SomeNamespace
{
public class when_something_happens
{
Because of = () => {};
It should_do_something = () => {};
}
}
如果满足所有条件,ReSharper 的绿色和黄色测试图标会出现:
- 公开课
- 类不是抽象的
- 类没有嵌套
- 有 >= 1 个规范字段 (
It
), 或者有 >= 1 个行为字段 (Behaves_like<>
)
关于ReSharper 看不到我的 Machine.Specification 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546618/