如何在NUnitLite中比较两个字符串?

时间:2014-06-06 15:16:43

标签: .net nunit

环境:赢得8.1 64,.NET 4.0,VS2013,ReSharper

使用NUnitLite(v1.0.0.0)断言时,它会引发System.NullReferenceException

using System;
using NUnit.Framework;

namespace DukasFeeder.Core.Tests
{
    [TestFixture]
    public class DukasReaderTests
    {
        [Test]
        public void Assert_GivenStrings_WhenAssert_ReturnsTrue()
        {
            Assert.AreEqual("abc", "abc");
        }
        ...
    }
}

我通过ReSharper运行测试。测试失败了:

System.NullReferenceException : Object reference not set to an instance of an object.
  at NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression, String message, Object[] args) in d:\Dev\NUnit\nunitlite\work\src\framework\Assert.cs: line 282
  at NUnit.Framework.Assert.AreEqual(Object expected, Object actual) in d:\Dev\NUnit\nunitlite\work\src\framework\Assert.cs: line 1493
  at DukasFeeder.Core.Tests.DukasReaderTests.Assert_GivenStrings_WhenAssert_ReturnsTrue() in DukasReaderTests.cs: line 18

我的所有其他测试都运行良好,但使用moq.Verify。这是第一个在NUnit上声明的测试。

如果我将NUnit版本从NUnitLite更改为NUnit.framework,它可以正常工作。

使用NUnitLite时有什么需要考虑的事项吗?或者我只需要使用完整的NUnit.Framework?

编辑:

使用NUnitLite有什么意义(除了它更新)?它比NUnit

更大

NUnitLite vs NUnit

1 个答案:

答案 0 :(得分:1)

根据您的编辑,您运行的是.NET 4.0。 NUnitLite仅支持.NET 3.5,因此建议使用NUnit。