これは私を狂ってしまいます!私はNUnitバージョン3.6.0を使用しており、私のテストから予期しない結果を得ています。私が何か期待していたときに、テストの実行は、私はとNullReferenceExceptionを取得すると、「期待を 『X』は実際には 『Y』です」NUnit 3値がnullでない場合、Assert.ThatがNullReferenceExceptionをスローします
を[TestFixture]
public class NunitTest
{
[Test]
public void TestIt()
{
string x = "x";
string y = "y";
// this fails (expected) but with NullReferenceException (unexpected)
Assert.That(x, Is.EqualTo(y));
}
}
:私は私が持っている問題を示すには本当に簡単なテストを作成しました
私はインクルードがアサート助長していると彼らはすべて
[TestFixture]
public class NunitTest
{
[Test]
public void TestIt()
{
string x = "x";
string y = "y";
// this passes
bool atest = x.Equals(y);
Assert.IsFalse(atest);
// this passes
Assert.IsNotNull(x);
// this passes
Assert.IsNotNull(y);
// this fails (expected) but with NullReferenceException (unexpected)
Assert.That(x, Is.EqualTo(y));
}
}
他の奇妙なことは、値が等しいとき、テストが正常に合格したことである渡します。
at NUnit.Framework.Assert.ReportFailure(String message)
at NUnit.Framework.Assert.ReportFailure(ConstraintResult result, String message, Object[] args)
at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression, String message, Object[] args)
at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression)
at VSI.Tests.NunitTest.TestIt() in c:\Users\DavidBecker\Documents\Visual Studio 2013\Projects\VSI.Tests\VSI.Tests\NunitTest.cs:line 30
ツール:
.NET Frameworkバージョン4.5.1
のVisual Studio 2013 Professionalの
ReSharperのバージョンも価値がある、私はAssert.AreEqual(x, y)
スタックトレースを使用したとき、私は正確に同じ問題を得るに注目9
編集:私はResharperからテストを実行しています。
それはReSharperのが問題であることのような表情を開始しています。 NUnit.ConsoleRunner.3.6でテストを実行した場合。0期待どおりに動作します。私はResharperランナーとうまく動作するNUnit 3.2.1で他のテストをしていますので、RS/NUnit.3.6.0のコンボが犯人だと思います –