我正在尝试为返回复杂对象集合的服务编写一些单元测试(IQueriable<MyObject>
给出一个想法),但我不知道如何解决这个问题。
考虑一下:
public IQueriable<MyObject> GetMyObjects(int someParameterA, int someParameterB)
{...}
基本上,根据传递的参数,一种方法将输出相当复杂的对象的集合。
由于该应用程序正在开发中,我可以使用本地 SQL 实例,并且我创建了一个方法,该方法将使用一些示例数据填充此数据库,因此该服务可以使用。
我在编写单元测试方面没有太多经验。好吧,老实说,我没有任何编写单元测试的经验。-_- 我看到的大多数示例都是针对进行一些计算并返回单个结果的方法。因此,可以为带有测试用例的测试附加数据源。如果方法要返回两个数字的和,则数据源将包含三列:两个数字和预期结果。
因此,由于我对单元测试的了解有限,我正在尝试应用相同的逻辑来测试返回集合的方法......而且我不知道测试应该包含什么(我知道我可以轻松地测试返回元素的数量),更不用说带有测试用例的测试数据源应该是什么样子了。
我知道 VS2010 有CollectionAssert
,但我想我的问题是我不知道在这种情况下如何创建“预期”值。
对此类方法进行单元测试的最佳方法是什么?