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