首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tSQLt未运行测试

tSQLt未运行测试
EN

Stack Overflow用户
提问于 2013-07-25 06:56:53
回答 4查看 1.8K关注 0票数 3

我有一个以前可以工作的安装程序,但现在似乎不能工作。想知道有没有其他人经历过这种情况。

曾经运行过的测试现在不能运行了。似乎没有运行任何东西。输出始终如下所示:

+-+|测试执行摘要|+

否|测试用例名称|结果

+--+

测试用例摘要:已执行0个测试用例,0个成功,0个失败,0个错误。

EN

回答 4

Stack Overflow用户

发布于 2013-07-25 18:30:20

测试过程必须以全部小写关键字test开头。[测试以启动名称是可以的。所有其他sprocs都将被忽略。在代码中演示了这一点,但有人(嗯)决定对测试进行编号以进行订单。数字需要紧跟在test关键字之后。现在我有了再次通过/失败的测试!

票数 17
EN

Stack Overflow用户

发布于 2013-08-06 19:33:48

你的问题没有给出太多细节。是什么产生了上面的输出?EXEC tSQLt.RunAll或EXEC tSQLt.Run 'MyTests‘。需要注意的一件事是,如果你有一个已经存在的测试类(比如'MyTests'),当你再次运行EXEC tSQLt.NewTestClass 'MyTests‘时,它将从测试类中清除所有现有的测试。

试试这个。

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-04-01 03:13:46

经过一夜的努力,我发现了一些对我有用的东西:

我删除了为测试创建的所有存储过程。(请注意,可以在外部资源、->可编程性、->存储过程下的数据库映射中找到它们,然后它们可能位于列表的顶部。)

然后,我确保再次运行newTestClass (只运行以下几行):

代码语言:javascript
复制
EXEC tSQLt.NewTestClass 'testJobs';
GO

然后我再一次逐个运行我的所有存储过程/测试,例如:

代码语言:javascript
复制
CREATE PROCEDURE testJobs.[testing simple UTC]

AS
BEGIN

    DECLARE @sum INT;
    SELECT @sum = 3 + 2;

    EXEC tSQLt.AssertEquals 5, @sum;

END;
GO

代码应该以""create procedure“”开头,以" end;go“行结束。一个接一个地运行这些代码,然后可以用以下命令执行整个testclass:

代码语言:javascript
复制
EXEC tSQLt.Run 'testJobs';

希望这能有所帮助。

Darcula

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17846209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档