长输入的单元测试

Boo*_*oks 9 c# unit-testing

[TestMethod]
public void SomeTestMethod()
{
    string input = "some looooong input...";

    var proc = new Processor()
    string result = proc.DoSomething(input);

    Assert.Equals("good", result);
}
Run Code Online (Sandbox Code Playgroud)

如果我正在编写一个单元测试并且我的输入非常长(例如EDI事务),那么我应该将其作为长字符串粘贴到我的测试方法中吗?

其他人建议我应该将长字符串粘贴到文件中,并将该文件视为我的测试项目中的嵌入式资源.如果我做了类似的事情,我需要为每个测试提供不同的输入,我可以看到很多文件堆积起来并变得难以维护.

有没有围绕这个的最佳做法?我应该继续将这些长字符串粘贴到我的测试方法中吗?

das*_*ght 6

我总是将长测试字符串放入资源中,并在测试及其资源之间保持一致的命名,以保持映射的简单性.我为资源和测试使用相同的名称.当我需要一些资源用于测试,我添加了一个后缀1,2,3,等等.