我有一个曾经工作的安装,但现在似乎没有。想知道是否有其他人经历过这个。
曾经跑过的测试不要。似乎什么都没有运行。输出始终如下:
+ ---------------------- + |测试执行摘要| + ---------------------- +
| No |测试用例名称|结果|
答案 0 :(得分:10)
测试过程必须以全小写关键字测试开始。 [测试开始这个名字很好。所有其他的sprocs都被忽略了。这在代码中得到了证明,但有人(ahem)决定对测试进行编号以进行订购。数字需要在test关键字之后。现在我有再次通过/失败的测试!
答案 1 :(得分:1)
您的问题没有提供大量详细信息。什么产生了上面的输出? EXEC tSQLt.RunAll或者EXEC tSQLt.Run'MyTests'。需要注意的一件事是,如果你有一个已经存在的测试类(比如'MyTests'),你再次运行EXEC tSQLt.NewTestClass'MyTests',它将清除测试类中的所有现有测试。
试试这个。
EXEC tSQLt.NewTestClass 'MyTests'
GO
CREATE PROCEDURE MyTests.testThisOut
AS
BEGIN
EXEC tSQLt.Fail 'this should not work'
END
GO
EXEC tSQLt.NewTestClass 'MyTests'
GO
EXEC tSQLt.Run 'MyTests'
GO
答案 2 :(得分:0)
经过一整夜的奋斗,我发现了一些对我有用的东西:
我删除了为测试创建的所有存储过程。 (请注意,可以在数据库映射中的“外部资源”->“可编程性”->“存储过程”下找到它们,然后它们可能位于列表的顶部。)
然后我确保再次运行newTestClass(仅以下几行):
EXEC tSQLt.NewTestClass 'testJobs';
GO
然后,我运行了所有存储过程/一次又一次测试,例如这一步:
CREATE PROCEDURE testJobs.[testing simple UTC]
AS
BEGIN
DECLARE @sum INT;
SELECT @sum = 3 + 2;
EXEC tSQLt.AssertEquals 5, @sum;
END;
GO
代码应以“创建过程”开头,以“结束”结尾;行”行。 逐个运行这些命令,然后可以执行以下总测试类:
EXEC tSQLt.Run 'testJobs';
希望这会有所帮助。
Darcula
答案 3 :(得分:0)
就我而言:
1。出现错误,测试案例已执行0次
EXEC tSQLt.NewTestClass @ClassName = N'BasicTests' ;
GO
CREATE PROCEDURE [BasicTests].[ test assertEquals] AS
BEGIN
DECLARE @expected INT;
SET @expected=1;
DECLARE @actual INT ;
SET @actual=1;
EXEC tSQLt.AssertEquals @expected, @actual;
END;
GO
EXEC tSQLt.RunALL -- OR EXEC tSQLt.Run '[BasicTests]'; --
====================
(受影响的0行)
+ ---------------------- + |测试执行摘要| + ---------------------- +
|否|测试用例名称| Dur(ms)|结果|
测试用例摘要:已执行0个测试用例,成功0个,失败0个,错误0个。
2。正确无误地命名程序中的测试案例执行问题
EXEC tSQLt.NewTestClass 'testBasic';
GO
CREATE PROCEDURE testBasic.[test assertEquals]
AS
BEGIN
DECLARE @expected INT;
SET @expected=1;
DECLARE @actual INT ;
SET @actual=1;
EXEC tSQLt.AssertEquals @expected, @actual;
END;
GO
EXEC tSQLt.RunALL --OR EXEC tSQLt.Run '[testBasic]'; --
=========================
(受影响的0行)
+ ---------------------- + |测试执行摘要| + ---------------------- +
|否|测试用例名称| Dur(ms)|结果| +-+ ------------------------------- + ------- + ------ -+
最后,可以按以下方式查看或删除测试类:
选择名称,SchemaId 从tSQLt.TestClasses;
EXEC tSQLt.DropClass'testBasic'