【发布时间】:2018-10-18 22:55:15
【问题描述】:
以下 LINQPad 查询在 try-catch 块中抛出 NullReferenceException:
void Main()
{
var specialFolder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var workingFolder = $@"{specialFolder}\NUnitLiteTestResults";
var args = new[]
{
"--labels=All",
"--nocolor",
"--noheader",
$"--work={workingFolder}"
};
try
{
(new AutoRun()).Execute(args);
}
catch (NullReferenceException ex)
{
ex.Dump("why?");
}
}
public class Runner
{
/*
public static int Main(string[] args) {
return new AutoRun(Assembly.GetCallingAssembly()).Execute(new String[] {"--labels=All"});
}
*/
[TestFixture]
public class FooTest
{
[Test]
public void ShouldCheckBoolean()
{
Assert.IsTrue(true);
}
[Test]
public void ShouldCompareNumbers()
{
Assert.AreEqual(2, 2);
}
[Test]
public void ShouldCompareStrings()
{
Assert.AreEqual("abc", "abc");
}
[Test]
public void TestCompareLists()
{
Assert.AreEqual(new int[] { 1, 2, 3 }, new int[] { 1, 2, 3 });
}
}
}
我在这里缺少任何设置代码吗?
异常(我的机器上没有C:\src\nunit 文件夹):
Object reference not set to an instance of an object.
at System.IO.TextWriter.Dispose()
at System.IO.TextWriter.Dispose()
at System.IO.TextWriter.SyncTextWriter.Dispose(Boolean disposing)
at System.IO.TextWriter.Dispose()
at NUnit.Common.ExtendedTextWrapper.Dispose(Boolean disposing) in C:\src\nunit\nunit\src\NUnitFramework\nunitlite\ExtendedTextWrapper.cs:line 83
at System.IO.TextWriter.Dispose()
at NUnitLite.TextRunner.Execute(String[] args) in C:\src\nunit\nunit\src\NUnitFramework\nunitlite\TextRunner.cs:line 149
at NUnitLite.AutoRun.Execute(String[] args) in C:\src\nunit\nunit\src\NUnitFramework\nunitlite\AutoRun.cs:line 82
at UserQuery.Main()
【问题讨论】:
-
可以添加异常堆栈跟踪吗?
-
您是否添加了(通过 Linqpad)对 NUnit 框架和 NUnitLite 的引用?
-
我只通过 LINQPad 添加了
NUnitLiteNuGet 包。
标签: c# nunit linqpad nunit-3.0