我如何告诉 Resharper 允许测试项目中特定 class 的下划线容错方法名称?

How can I tell Resharper to allow underscore tolerant method names for a specific class in a test project?

我喜欢使用当前模式编写测试:

[TestFixture]
public class MyTest : TestContext
{
    [TestFixtureSetUp]
    public void SetUp()
    {
        this.Given_a_mocked_logger();
        this.Given_a_system_under_test();

        this.When_getting_the_result();            
    }

    [Test]
    public void Then_result_should_not_be_null()
    {
        Assert.NotNull(this.Result);
    }

// this class is always placed in it's own file in the same 
// test project as the above class
public class TestContext
{
    protected string Result;

    protected void Given_a_mocked_logger()
    {
        // ...
    }

    protected void Given_a_system_under_test()
    {
        // ...
    }

    protected void When_getting_the_result()
    {
        Result = "Whatever";
    }
}

然而,当使用 Resharper + Style Cop 时,我在 MyTestTestContext classes 中得到了方法名称的波浪线,我设法告诉 Resharper 允许 Underscore 容忍命名我所有测试的约定 classes 按照说明 HERE 但是该解决方案不涵盖 TestContext class 因为它不属于 Test Type 也不Test Method.

我如何告诉 Resharper 允许我的测试项目中的所有 TestContext classes 使用上述命名约定,而不必使用 Resharper 注释来忽略不一致的命名?

在您的 TestContext 中使用这些评论 class:

// ReSharper disable InconsistentNaming

...your code with "inconsistent" method names

// ReSharper restore InconsistentNaming

您可以按照所述为您的测试项目指定单独的命名样式设置here