我正在尝试为公共方法A()编写一个单元测试,它调用另一个访问特定resx文件的方法B(),根据其输入参数对其成员执行某些操作并返回sth。我的问题是,当我想测试A()时,是否存在标准程序,但是为了我的测试目的,我不想静态或手动修改resx文件?
在运行实际测试之前,我可以编写一个以编程方式修改resx文件的方法吗?我应该注意到,我对依赖注入的概念并不熟悉,尽管我猜这个问题的解决方案可能会朝这个方向发展。
查看我的代码结构
THX yall !!!
public class ClassA {
void MethodA<T>() {
DoSomething(ClassB.MethodB<T>());
}
}
public class ClassB {
IEnumerable<string>MethodB<T>() {
foreach(var v in Enum.GetValues(typeof(T))){
DoSomething(ResxFileA.GetResource(v));
}
return IEnumerable<string>;
}
}
[TestClass]
public class TestClass {
Enum MockEnum { /*...*/ }
[TestMethod]
TestMethod {
ClassA.MethodA<MockEnum>();
Assert.AreEqual(/*...*/);
}
}