相关疑难解决方法(0)

NUnit与Assert.AreEqual不兼容

我是单元测试的新手,尤其是NUit.我只是在本书中输入一些引用Java和JUnit的例子.但我正在使用C#代替.

问题是:我有一个带有覆盖方法的类,例如Equals()GetHashCode(),但是当我试图比较这个类的两个对象时,Assert.AreEqual()我的代码没有被调用,所以我得到一个异常.

Assert.True(MyClass.Equals(MyClass2))确实运作良好.但我不想用这种结构代替Assert.AreEqual().问题出在哪里?

这是班级:

public class Money
{
    public int amount;
    protected string currency;

    public Money(int amount, string currency)
    {
        this.amount = amount;
        this.currency = currency;
    }

    public new bool Equals(object obj)
    {
        if (obj == null)
            return false;

        Money money = (Money)obj;
        return (amount == money.amount)
                && (Currency().Equals(money.Currency()));
    }

    public new int GetHashCode()
    {
        return (string.Format("{0}{1}", amount, currency)).GetHashCode();
    }

    public static Money Dollar(int amount)
    {
        return new Money(amount, "USD");
    } …
Run Code Online (Sandbox Code Playgroud)

c# nunit unit-testing

11
推荐指数
1
解决办法
4205
查看次数

标签 统计

c# ×1

nunit ×1

unit-testing ×1