Nunit 3.6.1 testcase with category:类别在testcontext中不可用

时间:2017-04-02 17:29:06

标签: c# nunit nunit-3.0

我注意到在使用测试用例而不是测试时,测试类别不能通过testcontext获得。所以让我们查看一些代码:

[TestFixture]
public class FormTests : BrowserTests
{
    [TestCase("/some-url/", FormType.ContactForm), Category("form")]
    [TestCase("/some-other-url/", FormType.ContactForm), Category("form")]
    public void AssertFormIsSubmittable(string url, FormType formType)
    {
        Browser.OpenPage($"{BaseUrl}{url}", true);
        Browser.Action(FormActions.EnterFormFields(formType));
        Browser.Action(FormActions.Submit());

        var isSuccesfullySubmitted = Browser.Verify(FormState.IsSubmitted());
        Assert.IsTrue(isSuccesfullySubmitted);
    }

    [Test, Category("form")]
    public void FunctionToTestIfCategoryIsWorking()
    {
        Browser.OpenPage($"{BaseUrl}", true);
        Browser.Action(FormActions.EnterFormFields(FormType.ContactForm));
        Browser.Action(FormActions.Submit());

        var isSuccesfullySubmitted = Browser.Verify(FormState.IsSubmitted());
        Assert.IsTrue(isSuccesfullySubmitted);
    }
}

当运行AssertFormIsSubmittable(带有测试用例)时,在BrowserTests基类中,当我执行:var category = TestContext.CurrentContext.Test.Properties.Get("Category");时,结果为空。

当我执行FunctionToTestIfCategoryIsWorking时,相同的代码行有" form"结果是。这是预期的结果。不知何故,当使用TestCase时,它不再起作用了。

我尝试将属性更改为:

[TestCase("/some-url/", FormType.ContactForm)]
[TestCase("/some-other-url/", FormType.ContactForm)]
[Category("form")]

[Category("form")]
[TestCase("/some-url/", FormType.ContactForm)]
[TestCase("/some-other-url/", FormType.ContactForm)]

[Test, Category("form")]
[TestCase("/some-url/", FormType.ContactForm)]
[TestCase("/some-other-url/", FormType.ContactForm)]

所有结果都相同。我寻找遇到同样问题的人,但我发现没有负载。我在https://github.com/nunit/nunit上查找了已知问题和错误,但没有找到任何相似的内容。

我在Windows 7 Enterprise计算机上使用Visual Studio 2015社区,Update 3。我安装了Nunit 3测试适配器Visual Studio扩展。

我有什么遗漏的吗?当然,非常感谢任何帮助:)

0 个答案:

没有答案