首页 > 解决方案 > Xunit 是否可以使用 Memberdata 和其他数据类型作为参数?

问题描述

有谁知道是否可以单独使用其他数据类型与 MemberData?我有正在工作的参数化测试,但我需要在每个测试中添加一个测试初始化​​方法(出于各种原因)

我需要能够像使用内联数据一样使用 MemberData

目前这是我的设置,它运行良好。我有一个返回的对象列表,每个对象都可以作为单独的测试运行。

        [Trait("Category", "FE")]
        [Trait("Category", "DocumentManagement")]
        [Trait("Category", "CriticalDocuments")]
        [Theory]
        [MemberData(nameof(FilterTypes))]
        [MemberData(nameof(FilterTypes))]
        public void Test_Filter(int id, TheoryWrapper<PageFilters> filterParams)

        {
            critical_documents.AssertFilterIsNotEmtpy(filterParams.Object.filter_locater);
        }

但是,我确实需要能够在测试参数级别添加一个字符串,以允许其他一些方法正常工作。

例如

        [Trait("Category", "FE")]
        [Trait("Category", "DocumentManagement")]
        [Trait("Category", "CriticalDocuments")]
        [Theory]
        [MemberData(nameof(FilterTypes), "user1")]
        [MemberData(nameof(FilterTypes), "user2")]
        public void Test_Filter(int id, TheoryWrapper<PageFilters> filterParams, string userType)

        {
            critical_documents.InitializeTest(user_type: userType);
            critical_documents.AssertFilterIsNotEmtpy(filterParams.Object.filter_locater);
        }

关于语法的任何想法或者这是否可能?谢谢

标签: xunit

解决方案


推荐阅读