Как использовать несколько атрибутов TestCaseSource для N-модульного теста

Как использовать несколько атрибутов TestCaseSource для предоставления тестовых данных тесту в N-Unit 2.62?

в настоящее время я делаю следующее:

[Test, Combinatorial, TestCaseSource(typeof(FooFactory), "GetFoo"), TestCaseSource(typeof(BarFactory), "GetBar")]
FooBar(Foo x, Bar y)
{
 //Some test runs here.
}

и мои источники данных тестового случая выглядят так:

internal sealed class FooFactory
{
    public IEnumerable<Foo> GetFoo()
    {
        //Gets some foos.
    }
}


    internal sealed class BarFactory
{
    public IEnumerable<Bar> GetBar()
    {
        //Gets some bars.
    }
}

к сожалению, N-Unit даже не начнет тест, так как он говорит, что я предоставляю неправильное количество аргументов. Я знаю, что вы можете указать TestCaseObject в качестве возвращаемого типа и передать в массив объектов, но я думал, что этот подход вероятный.

можете ли вы помочь мне решить эту проблему?

1 ответов


соответствующий атрибут для использования в этой ситуации -ValueSource. По сути, вы указываете источник данных для отдельных параметров, например.

public void TestQuoteSubmission([ValueSource(typeof(FooFactory), "GetFoo")]  Foo x, 
[ValueSource(typeof(BarFactory), "GetBar")] Bar y)
{
    //Your test here.
}

Это позволит тип функциональности, которую я искал, используя .