-
Notifications
You must be signed in to change notification settings - Fork 154
TestFixtureData
jnm2 edited this page Jun 14, 2017
·
5 revisions
Although any object implementing IFixtureData may be used to provide specific instance information for a parameterized fixture, NUnit provides the TestFixtureData class for this purpose.
The following example varies the example shown under TestFixture Attribute by using
a TestFixtureSourceAttribute
with a data source in a separately defined class.
[TestFixtureSource(typeof(MyFixtureData), "FixtureParms")]
public class ParameterizedTestFixture
{
private string eq1;
private string eq2;
private string neq;
public ParameterizedTestFixture(string eq1, string eq2, string neq)
{
this.eq1 = eq1;
this.eq2 = eq2;
this.neq = neq;
}
public ParameterizedTestFixture(string eq1, string eq2)
: this(eq1, eq2, null) { }
public ParameterizedTestFixture(int eq1, int eq2, int neq)
{
this.eq1 = eq1.ToString();
this.eq2 = eq2.ToString();
this.neq = neq.ToString();
}
[Test]
public void TestEquality()
{
Assert.AreEqual(eq1, eq2);
if (eq1 != null && eq2 != null)
Assert.AreEqual(eq1.GetHashCode(), eq2.GetHashCode());
}
[Test]
public void TestInequality()
{
Assert.AreNotEqual(eq1, neq);
if (eq1 != null && neq != null)
Assert.AreNotEqual(eq1.GetHashCode(), neq.GetHashCode());
}
}
public class MyFixtureData
{
public static IEnumerable FixtureParms
{
get
{
yield return new TestFixtureData( "hello", "hello", "goodbye" );
yield return new TestFixtureData( "zip", "zip" );
yield return new TestFixtureData( 42, 42, 99 );
}
}
}
Copyright (c) 2018 The NUnit Project - Licensed under CC BY-NC-SA 4.0
-
NUnit
-
Release Notes
-
License
- Getting Started
- Writing Tests
- Running Tests
- Extending NUnit
- Technical Notes
-
Release Notes
- NUnit Xamarin Runners
- VS Test Adapter
- VS Test Generator
- NUnit Analyzers