我们有一些代码,它可以帮助我们将我们测试的数据写入一些JSON文件。
我的代码很简单:
internal static void WriteDataSourcesToJson(IEnumerable<ReportDataSource> dataSources, string jsonFilePath)
{
lock (_lockObject)
{
string jsonString = JsonConvert.SerializeObject(dataSources);
using (var fs = new FileStream(jsonFilePath, FileMode.OpenOrCreate))
using (var sw = new StreamWriter(fs))
{
sw.Write(jsonString);
}
}
}
它工作正常,如果我运行单个测试,但只要我在类上选择“全部运行”,似乎代码会在没有警告的情况下被忽略。我想到了一个线程问题,但Lock没有帮助,也没有收到错误消息。
“全部运行”是否与运行单个单元测试有所不同?
编辑:我们在命名空间Microsoft.VisualStudio.TestTools.UnitTesting中使用默认的Microsoft单元测试