我有这是使用Assembly.LoadFrom(...)语句,并返回从卫星装配支持的区域性方法,所以我怎么能写这种类型的方法的单元测试。
我所做的就是,裹静态方法/逻辑回归文化花药类和使用它的实例方法。 这是正确的做法?
我有这是使用Assembly.LoadFrom(...)语句,并返回从卫星装配支持的区域性方法,所以我怎么能写这种类型的方法的单元测试。
我所做的就是,裹静态方法/逻辑回归文化花药类和使用它的实例方法。 这是正确的做法?
这是什么情况?
aMethod(whatToLoad) {
// other stuff
x = Assembly.LoadFrom( whatToLoad );
// code using x
}
第一个原则:我们的重点是测试amethod方法(),Assembly.LoadFrom的测试()是一个单独的问题。 虽然我们正在建设试验amethod方法(),我们不要试图去测试它的依赖。
所以在这里,我们可能需要什么样的测试?
这是最容易做到这一点,如果测试可以提供模拟实现。 然后,我们可以通过检查素收到了预期值测试1。 试验2通过返回良好定义的值(或对于mulitiple测试不同有趣的值)通过产生选择错误条件试验3。
所以,你必须改变你的代码是这样的:
aMethod(loader, whatToLoad) {
// other code
x = loader.Load( whatToLoad );
// code using x
}
也许加载一些其他的方式注入,但问题是,你现在可以指定不同的测试我设置了一个合适的loaoder。 例如,对于第一次测试。
testLoader = new MockLoaderThatRembers();
tested.aMethod(testLoader, loadThis);
assertEquals(testLoader.getLoader(), loadThis);
所以,如果这是你正在做的那么样的东西,是的,我说你要启用TDD。