tSQLt 中的测试用例 运行 的顺序是什么?
What order the test cases run in the tSQLt?
我在 'EmployeeSchema' 中有 30 个测试用例。我想知道 tSqlt 中测试用例 运行 的顺序是什么?如果我知道测试用例的执行顺序,那么我就会一个接一个地改变我的测试用例的执行顺序。请指教。
-- Runs all the tests on MyTestClass
EXEC tSQLt.Run 'EmployeeSchema';
当 运行 在测试 class 中设置所有测试时,tSQLt.Run
将 运行 以“随机”顺序测试,这意味着 tSQLt
离开最多订购 SQL 服务器及其检索数据的方式。虽然,它们 运行 的顺序无关紧要,因为每个测试本身应该是独立的。
如果出于某种原因您想 运行 以不同的顺序进行单独的测试,您将需要按您想要的顺序分别 运行 tSQLt.Run
每个单独的测试。当您为整个测试 class.
调用 tSQLt.Run
时,您不能指定特定顺序
注:感谢@Sebastian Meine 的指正
为了确认它是 随机 执行计划相关的,这里是来自 tSQLt.Private_RunTestClass
的游标声明,它在请求的测试 class 中提取测试列表.没有 ORDER BY
所以 SQL 服务器将 return 测试名称以它认为合适的顺序排列。
DECLARE testCases CURSOR LOCAL FAST_FORWARD
FOR
SELECT tSQLt.Private_GetQuotedFullName(object_id)
FROM sys.procedures
WHERE schema_id = @TestClassId
AND LOWER(name) LIKE 'test%';
我在 'EmployeeSchema' 中有 30 个测试用例。我想知道 tSqlt 中测试用例 运行 的顺序是什么?如果我知道测试用例的执行顺序,那么我就会一个接一个地改变我的测试用例的执行顺序。请指教。
-- Runs all the tests on MyTestClass
EXEC tSQLt.Run 'EmployeeSchema';
当 运行 在测试 class 中设置所有测试时,tSQLt.Run
将 运行 以“随机”顺序测试,这意味着 tSQLt
离开最多订购 SQL 服务器及其检索数据的方式。虽然,它们 运行 的顺序无关紧要,因为每个测试本身应该是独立的。
如果出于某种原因您想 运行 以不同的顺序进行单独的测试,您将需要按您想要的顺序分别 运行 tSQLt.Run
每个单独的测试。当您为整个测试 class.
tSQLt.Run
时,您不能指定特定顺序
注:感谢@Sebastian Meine 的指正
为了确认它是 随机 执行计划相关的,这里是来自 tSQLt.Private_RunTestClass
的游标声明,它在请求的测试 class 中提取测试列表.没有 ORDER BY
所以 SQL 服务器将 return 测试名称以它认为合适的顺序排列。
DECLARE testCases CURSOR LOCAL FAST_FORWARD
FOR
SELECT tSQLt.Private_GetQuotedFullName(object_id)
FROM sys.procedures
WHERE schema_id = @TestClassId
AND LOWER(name) LIKE 'test%';