我有以下代码(sample1.evol - 附加到我的单元测试项目的文件):
[Test]
public void LexicalTest1()
{
var codePath = Path.GetFullPath(@"\EvolutionSamples\sample1.evol");
//.....
}
Run Code Online (Sandbox Code Playgroud)
我发现测试执行的工作目录不是汇编目录:(在我的情况下,代码路径变量分配给d:\EvolutionSamples\sample1.evol).
那么,如何更改执行工作目录(没有硬编码)?加载附加到测试用例的任何文件的最佳做法是什么?
我将其用于需要访问数据文件的集成测试。
在任何机器上,测试需要运行创建一个名为TestDataDirectory的系统环境变量,该变量指向测试数据所在的根目录。
然后有一个静态方法来为您获取文件路径..
public static class TestHelper
{
const string EnvironmentVariable = "TestDataDirectory";
static string testDataDir = Environment.GetEnvironmentVariable(EnvironmentVariable);
public static string GetTestFile(string partialPath)
{
return Path.Combine(testDataDir, partialPath);
}
}
Run Code Online (Sandbox Code Playgroud)
...
[Test]
public void LexicalTest1()
{
var codePath = TestHelper.GetTestFile(@"\EvolutionSamples\sample1.evol");
//.....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6230 次 |
| 最近记录: |