Czy możliwe jest użycie atrybutu NUnit [TestCaseSource] z więcej niż jednym argumentem? Tu jest mój kodu (które jest przenoszone z MbUnit):NUnit [TestCaseSource] z wieloma argumentami, jak z MbUnit's [Factory]
public IEnumerable<object[]> GetTestSwitchMultiItems()
{
yield return new object[] { SwitchType.Sell, 0.94733,
new SwitchSourceItem[] { new SwitchSourceItem(1176, 100, 50, SwitchSourceItem.QuantityType.TotalQuantity, SwitchType.Sell)},
new SwitchEquivalentItem[] { new SwitchEquivalentItem(415318955, 35, 25, SwitchType.Buy), new SwitchEquivalentItem(4348, 65, 45, SwitchType.Buy) } };
yield return new object[] { SwitchType.Sell, 0.94733,
new SwitchSourceItem[] { new SwitchSourceItem(1176, 100, 50, SwitchSourceItem.QuantityType.TotalQuantity, SwitchType.Sell)},
new SwitchEquivalentItem[] { new SwitchEquivalentItem(415318955, 15, 25, SwitchType.Buy), new SwitchEquivalentItem(4348, 25, 45, SwitchType.Buy),
new SwitchEquivalentItem(430397879, 20, 15, SwitchType.Buy), new SwitchEquivalentItem(5330, 20, 85, SwitchType.Buy)} };
}
[Test, TestCaseSource("GetTestSwitchMultiItems")]
public void TestSwitchMultiItems(SwitchType switchType, double exchangeRate, SwitchSourceItem[] sources, SwitchEquivalentItem[] equivs)
{
...
}
Widzisz, parametry są przekazywane jako obiekt [], aby mieć więcej niż jedno parametry TestSwitchMultiItems. Powinienem to zrobić lub muszę zamiast tego użyć tylko jednego parametru w TestSwitchMultiItems (object [] parameters). Dziękuję Ci.