2009-10-10 50 views
3

我有问题让ReSharper看到Machine.Specification“测试”我写了。ReSharper没有看到我的Machine.Specification测试

规格在mSpec的ConsoleRunner中运行。当我尝试在ReSharper中“运行单元测试”时,我收到一条消息:“文件中没有找到测试。”规格不显示测试标记。

我在ReSharper/bin /文件夹中创建了一个文件夹,并将正确的.dlls放在那里。 mSpec插件出现在ReSharper中。

我可能会丢失什么?

此外,我使用xUnit.NET,如果这有所作为。

回答

7

ReSharper runner不考虑嵌套上下文类。未嵌套

namespace SomeNamespace 
{ 
    public class Specs 
    { 
     public class when_something_happens 
     { 
      Because of =() => {}; 
      It should_do_something =() => {}; 
     } 
    } 
} 

作者上下文,即根类命名空间内:相反嵌套上下文类的,如果所有的条件都

namespace SomeNamespace 
{ 
    public class when_something_happens 
    { 
     Because of =() => {}; 
     It should_do_something =() => {}; 
    } 
} 

ReSharper的绿色和黄色的测试图标不显示满足:

  • 类是公共
  • 类不是抽象
  • 类不是嵌套
  • 具有> = 1指定字段(It) 或具有> = 1行为字段 (Behaves_like<>
+0

感谢您的回答;并通过Twitter的帮助。 – y0mbo 2009-10-12 13:00:21

+0

+1 Yikes。有没有其他方法?!?!?!所以,我偶然发现了一个ReSharper单元测试报告的外观,给我留下了深刻的印象,而且我也遇到了与作者相同的问题。事情是,我有超过200个类(MSpec中超过2500个规格),他们继承了抽象的逻辑/助手等等。是的,它可以全部重构。但是我担心Contextes会被共享(更多重构!)以及MSpec报告将如何排序。 – eduncan911 2010-01-20 02:31:53

+0

我编写了一个支持嵌套上下文的ReSharper runner版本 - 我们仍在考虑将这个版本放入官方版本。 http://github.com/agross/machine.specifications/tree/nestedtypes 尽管如此,恕我直呼命名空间是结构上下文的首选方法。 – 2010-01-20 13:04:12

0

当试图将ReSharper和XUnit.net一起使用时,也遇到了“没有在文件中找到测试”的问题。但是我可以在Test Explorer窗口中看到我的测试,并能够从那里运行它们。