c# - 尝试使用 NUnit 测试构造函数时出现有关构造函数中参数的错误

标签 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”

为什么会出现这个错误,如何解决?我错过了什么吗?

最佳答案

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

在您的 BankAccount 类中创建一个无参数的构造函数,或者将参数正确地传递给 new BankAccount();

关于c# - 尝试使用 NUnit 测试构造函数时出现有关构造函数中参数的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575560/

相关文章:

C# out参数值传递

flutter - 错误 : The argument type '(int) → dynamic' can't be assigned to the parameter type '(String) → void'

C# - 在派生类中调用基类构造函数

c++ - 我不明白析构函数有什么问题?

c# - 在构造函数中或在类的顶部创建一个对象

c# - Visual Studio 设置 : How to set vertical split view to default

c# - 如何在 XAML/WPF ListBox Drop 事件中绑定(bind)命令

c# - 标识为 'Id' 的项目已存在于元数据集合中。参数名称 : item

c++ - 简单的附加代码,带有严重的错误处理

c# - 为整个 Controller 指定 [HttpGet]、[HttpPost] 或 [AcceptVerbs]