Как использовать несколько атрибутов 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.
}
Это позволит тип функциональности, которую я искал, используя .