通常情况下,您需要在每次测试后进行某种清理。例如,清理数据库。全局设置和拆卸功能
问题:
有没有办法使用单元测试库时附上全球拆卸和安装的功能呢? 它会变得更好,能够定义around建议:
unittest.around((test){
//doing setup
test();
//doing cleanup
});
通常情况下,您需要在每次测试后进行某种清理。例如,清理数据库。全局设置和拆卸功能
问题:
有没有办法使用单元测试库时附上全球拆卸和安装的功能呢? 它会变得更好,能够定义around建议:
unittest.around((test){
//doing setup
test();
//doing cleanup
});
当然,错误需要先修复:-)
然后,你会这样做,因为贾斯汀说'使用非明确的函数,你可以明确上调。在我看来,这是提供最大灵活性的最佳方式,而不会让单元测试库受到大量复杂的设置/拆卸逻辑的阻碍。
如果你想要做的测试套件安装/拆卸,你能做到这与组中的初始/最终的“试验”:
group('test suite',() {
test('Set up suite',() { ... });
test('Test 1',() { ... });
...
test('Test n',() { ... });
test('Tear down suite',() { ... });
});
这并不理想,但它是一个解决方案。
值得指出的是,在内部,组实际上并未表示为层次结构。我们所做的只是使用当前的setUp/tearDown函数来保存堆栈,以便我们可以将每个测试用例与适当的测试用例关联起来,并将组名和测试名称连接起来以形成测试用例的最终名称。我们并没有构建树型数据结构,因此我们没有一种隐式进行upcalls的好方法(我们可以快速创建闭合层,并将这些闭合层用作实际的setUp/tearDown函数,但这有点儿的fugly)。
你可以做手工,革兰氏在错误暗示:
main() {
topSetup() {
// ...
}
setUp(topSetup);
group('group',() {
setUp(() {
topSetup();
// ...
});
test('test',() {
// ...
});
});
}
看起来不像。以下是Gram所说的内容:http://code.google.com/p/dart/issues/detail?id=8157提交功能请求? – 2013-02-24 06:40:07
谢谢Seth。我提出了一个请求。 – 2013-02-24 20:49:14