一个或多个子测试有错误,Exception没有堆栈跟踪

时间:2017-06-18 08:27:27

标签: c# unit-testing nunit

我对单元测试相当新,我正在尝试使用Nunit进行测试,但在运行测试计划时会收到以下消息。

我试图逐步完成代码,但它没有遇到断点,所以我猜测它在击中测试方法之前失败了

  

一项或多项子测试有错误     异常没有堆栈跟踪

以下代码是我正在使用的代码,但似乎无法使其正常工作;

[TestFixture]
class PaymentServicetTest
{

    [Test]
    public void MakePayment()
    {
        var paymentRequestDetails = new MakePaymentRequest
        {
            Amount = 876.36m,
            CreditorAccountNumber = "12345678",
            DebtorAccountNumber = "87654321",
            PaymentDate = DateTime.Now,
            PaymentScheme = PaymentScheme.Chaps

        };
        var paymentService = new PaymentService();
        var result = paymentService.MakePayment(paymentRequestDetails);
        Assert.True(result.Success);
    }

}

如果有人能指出我做错的方向以及如何解决问题,我将不胜感激

由于

西蒙

3 个答案:

答案 0 :(得分:0)

您的测试夹具类不公开,因此无效。您看到的错误可能是在程序集上,并且只是报告某些子测试或测试失败 - 在这种情况下是夹具。

你没有说你如何运行测试*但我猜它是通过Visual Studio适配器,它只报告测试用例的错误,而不是夹具。适配器必须将NUnit概念转换为Visual Studio所理解的概念,不幸的是,它不包括测试夹具或测试套件。

*作为NUnit的新用户,您可能无法在描述问题时意识到需要说明如何运行测试。这很常见,因为新用户通常只知道运行测试的单一方法。 NUnit团队支持至少六打(取决于你如何计算事物),还有更多来自第三方,所以最好准确地说出你如何运行测试。

答案 1 :(得分:0)

就我而言,这是因为我已经复制,粘贴并修改了测试。我不确定为什么这会导致测试运行程序失败,但是删除测试并手动重新添加它而不粘贴另一个修复的问题。

答案 2 :(得分:-2)

检查天气“result.Success”是否返回true。