Evg*_*eny 5 .net nunit unit-testing
假设我有一个类库的项目.我在该库中有一个类,这个类有一些只在类中使用的方法.像这样:
public class MyClass
{
public void MyPublicMethod
{
int k
// do something ...
int z = MyInternalMethod(k);
// do something else ...
}
internal int MyInternalMethod(int i)
{
// do something ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想为这些方法编写单元测试.我会创建一个"单元测试"项目,从中引用nunit并写下这样的东西
[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;
}
}
Run Code Online (Sandbox Code Playgroud)
当然,由于MyInternalMethod范围,我无法做到这一点.处理这种情况的正确方法是什么?