UnitTest访问特定资源文件

时间:2015-11-11 09:25:28

标签: c# unit-testing dependency-injection

我正在尝试为公共方法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(/*...*/);
    }
}

0 个答案:

没有答案