尝试使用NUnit测试构造函数时,获取有关构造函数中参数的错误

时间:2018-09-30 07:16:05

标签: c# parameters constructor nunit

我有一个银行帐户课程。我们正在学习如何使用NUnit测试构造函数以及对象和方法。

这是我的BankAccount类。

    using System;
namespace PT7BankSim
{
    public class BankAccount
    {
        private int _accNumber;
        private double _balance;
        private AccountType _type;

        public int AccNumber
        {
            get
            {
                return _accNumber;
            }
        }

        public double Balance
        {
            get
            {
                return _balance;
            }
        }



        public BankAccount(int accNum, AccountType type)
        {
            _balance = 0.00;
            _accNumber = accNum;
            _type = type;

        }

        public void Deposit(double amt)
        {
            _balance += amt;
        }

        public void Withdraw(double amt)
        {
            if (amt > _balance)
            {
                Console.WriteLine("\n\n Insufficient Balance in account: " + _accNumber);
            }
            else
            {
                _balance -= amt;
            }

        }

        public String Details()
        {
            String sDetails = _type + " Account" + "         : " + _accNumber + " Balance : " + _balance;
            return sDetails;
        }

    }
}

这是我的“ TestClass”,我应该测试BankAccount的构造函数

    using System;
using NUnit.Framework;
namespace PT7BankSim
{
    [TestFixture]
    public class TestBank
    {
        [Test]
        public void TestConstructor()
        {
            BankAccount TBA = new BankAccount();
            Assert.AreEqual(00, TBA.AccNumber);
        }
    }
}

现在我只是随机测试1个值/参数,IDE给我一个错误,提示“没有给定的参数对应于BankAccount.BankAccount(int,AccountType)所需的形式参数accNum”

为什么会给出此错误以及如何解决?我想念什么吗?

1 个答案:

答案 0 :(得分:3)

当BankAccount类没有无参数构造函数时,您正在调用无参数构造函数。

要么在BankAccount类中创建无参数构造函数,要么将参数正确传递到新的BankAccount();