好吧,我想不出如何正确地说出这个问题,但是一个例子会清除它。假设我有这个课程:
public class Subject
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Subject> Children { get; set; }
}
因此,一个主题有一系列主题,而这些主题又可以有主题。然后我有这个方法。这可以保存主题和主题的孩子,如果有的话:
public int CreateSubject(Subject newSubject)
{
//...
}
创建主题后,将返回新的ID。所以在我的单元测试中,我可以通过检查返回值是否为零来测试我是否创建了一个主题。现在,我有一个测试名为返回Id的资产:
CreateSubject_ValidValues_CreatesSubject
但我意识到即使孩子们没有得救,这也可能成功。我希望有类似的东西:
CreateSubject_ValidValuesWithValidChildren_CreatesSubjectAndChildren
但我不确定如何检查孩子是否成功保存。我不确定该断言。我如何测试这样的东西?
答案 0 :(得分:0)
简单:您无法测试CreateSubject( )
是否正在创建有效主题,除非您有另一个函数,然后通过返回的ID获取它。有用的&#34;单位&#34;在这种情况下测试不是函数CreateSubject
,而是任何单元负责Subject对象的创建/检索等。