Nehmen wir an, ich habe ein Projekt, das eine Klassenbibliothek ist. Ich habe eine Klasse in dieser Bibliothek und diese Klasse hat einige Methoden, die nur innerhalb der Klasse verwendet werden. Zum Beispiel so:
public class MyClass
{
public void MyPublicMethod
{
int k
// do something ...
int z = MyInternalMethod(k);
// do something else ...
}
internal int MyInternalMethod(int i)
{
// do something ...
}
}
Jetzt möchte ich Unit-Tests für diese Methoden schreiben. Ich würde ein "Unit Tests"-Projekt erstellen, das nunit referenzieren und etwas wie dieses schreiben
[TestFixture]
public class UnitTests
{
private MyClass myClass;
[SetUp]
public void SetupTest
{
myClass = new MyClass();
}
[Test]
public void TestMyInternalMethod
{
int z = 100;
int k = myClass.MyInternalMethod(z); //CAN NOT DO THIS!
Assert.AreEqual(k, 100000);
}
[TearDown]
public void TearDown
{
myClass = null;
}
}
Natürlich kann ich dies nicht tun, weil der MyInternalMethod-Bereich. Was wäre der richtige Weg, um diese Situation zu behandeln?