5
是否可以使用NUnit的[TestCaseSource]属性和多个参数?这里是我的代码(正在从MbUnit的迁移):NUnit的[TestCaseSource]带有多个参数,如MbUnit的[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)
{
...
}
你看,参数为对象[]传递,以在TestSwitchMultiItems多个参数。应该这样做还是必须在TestSwitchMultiItems(object []参数)中只使用一个参数。谢谢。