NUnit can have class level parameterised tests:
[ TestFixture( MachineEnum.None ) ] [ TestFixture( MachineEnum.Lathe ) ] [ TestFixture( MachineEnum.Miller ) ] public class SomeTests { private readonly MachineEnum _machineEnum = MachineEnum.None; public SomeTests( MachineEnum machineEnum ) { _machineEnum = machineEnum; } ... }
Also the tests can be paramterised at the test level. Make sure the TestCase parameter match the order and type of the test method.
[Test] [TestCase("some value", null, ExpectedResultEnum.Paramater1Used)] [TestCase("some value", "over ride", ExpectedResultEnum.Paramater2Used)] [TestCase("some value", "over ride", ExpectedResultEnum.Paramater1Used)] [TestCase(null, null, ExpectedResultEnum.Paramater1Used)] public async Task ParamterisedTest( string param1, string param2, ExpectedResultEnum expectedResult) { // Arrange // Act // Assert Assert.Multiple(() => { Assert.That(var1 == null, Is.False); Assert.That(var2.Id, Is.EqualTo(expectedResult)); }); ... }
No comments:
Post a Comment