失敗私はいくつかの構造体を含むクラス有する:ユニットテストにおいてなぜAssert.AreEqualは(TのOBJ1、Tobj2)が同じオブジェクトと
public class NavigationMenu
{
public struct NavigationMenuItem
{
public bool Enabled { get; set; }
public int NumberOfPendingOperations { get; set; }
}
public NavigationMenuItem SubmitExpenses { get; set; }
public NavigationMenuItem ManageExpenses { get; set; }
public NavigationMenuItem SubmitBudgets { get; set; }
public NavigationMenuItem ManageBudgets { get; set; }
public NavigationMenuItem AuthorizeExpenses { get; set; }
public NavigationMenuItem ApproveExpenses { get; set; }
public NavigationMenuItem PayExpenses { get; set; }
public NavigationMenuItem BillExpenses { get; set; }
public NavigationMenuItem ManageReturnedExpenses { get; set; }
public NavigationMenuItem ManageIncompleteExpenses { get; set; }
public NavigationMenuItem ManageOrders { get; set; }
public NavigationMenuItem ApproveBudgets { get; set; }
public NavigationMenuItem AdministrateSystem { get; set; }
}
をIは、関数呼び出しを行い、結果を比較:
NavigationMenu expected = new NavigationMenu();
expected.SubmitExpenses = new NavigationMenu.NavigationMenuItem { Enabled = true };
expected.ManageExpenses = new NavigationMenu.NavigationMenuItem { Enabled = true };
NavigationMenu actual = HomeControllerHelper.GetNavigationMenuByUserRole(userRole);
Assert.AreEqual(expected, actual);
しかし、Assert.AreEqualは常にAssertFailedExceptionをスローします。オブジェクトは同じですが、デバッガを使用してこれを検証しました。アイデアを教えてください。ありがとう。
使用している言語でタグを付けてください。 – geoffspear
どのユニットテストフレームワークを使用していますか? NUnit? MSTest? MbUnit?他に何か? (あなたのタグを更新してください)。 – Steven
ここで同じオブジェクトを比較していますが、失敗している可能性はありますか? –