【发布时间】:2014-08-07 04:46:51
【问题描述】:
我想检查一个 c# 项目是基于 NUnit 还是基于 MSTest。目前,我阅读了 csproj 的文件并寻找如下的特定字符串。
const string MSTEST_ELEMENT = "<TestProjectType>UnitTest</TestProjectType>";
const string NUNIT_ELEMENT = @"<Reference Include=""nunit.framework"">";
var file = File.ReadAllText("C:\myfile.csproj");
if (file.Contains(NUNIT_ELEMENT))
{
result = TestProjectType.NUnit;
}
else if (file.Contains(MSTEST_ELEMENT))
{
result = TestProjectType.MSTest;
}
它按我的预期工作,但在文件中查找特定文本对我来说很难看。有没有更好的方法来做到这一点?
【问题讨论】:
-
为什么不能将 XML 读取为 XML?如果两者都存在怎么办?
-
因为读入 XML 比读成纯文本要慢。
-
@匿名读取XML是可靠的,搜索字符串不是。
-
@peer 你能举个例子说明读取文件内容和搜索字符串值不可靠吗?
标签: c# .net unit-testing nunit mstest