在下面的单元测试示例中,测试正在尝试验证是否已创建注释。 Assert不应该是一个“Assert.AreEqual”来验证id是否匹配?
[TestMethod()]
public void CreateNoteTest_Pass()
{
HomeController target = new HomeController(); // TODO: Initialize to an appropriate value
var note = new NotePM();
note.Text = "This is my test note" + DateTime.Now;
int id = note.NoteId;
note.CreatedByUserName = Membership.GetUser("danielle").UserName;
ActionResult actual;
actual = target.Create(note);
Assert.AreNotEqual(id, note.NoteId);
Assert.IsInstanceOfType(actual, typeof(RedirectToRouteResult));
答案 0 :(得分:1)
我很想知道
是什么target.create(note)
方法呢。看起来它需要一个NotePM实例并对其进行一些操作(例如,在数据库中创建并获取ID)。
我的猜测是这个测试验证了target.create实际上改变了note.ID.因此它将note.ID的值保存在变量id中,然后调用create(note)并断言ID的值实际上已更改为某个新值。
答案 1 :(得分:0)
您想要比较音符和实际情况并验证它们是否相等?
如果是,请使用AreEqual ...
例如:
Assert.AreEqual(note, actual, "Note's are not equal.");