1

我正在尝试在我的Silverlight应用程序上自动执行ui测试。我需要在运行测试时设置并清除我的Oracle数据库。如何在运行UI测试前后设置和清理我的数据库

我创建了一个脚本:“setup.sql”,其中我定义了要执行的查询。我在Localsettings配置的部署选项卡上添加此文件。

setup.sql

CREATE TABLE HSDEV.TESTE_MARIA1 
    (
    Id_test int, 
    LastName varchar(255), 
    FirstName varchar(255) 
) 

然后,我创建了一个.bat文件,我添加的部署选项卡COM Localsettings配置文件和我选择的设置和清除脚本此路径。

的setup.bat

sqlcmd -S COMPUTERNAME -i setup.sql 

这两个文件都在溶液中的文件夹。

然后,我创建了一个简单的Web测试,然后运行它。测试通过但表格不是在我的数据库上创建的。

我在做什么错?我错过了什么吗?

+1

表已经存在吗?在尝试创建表之前,您应该检查表是否已经存在。 – Hogan

+0

此表在我的数据库中不存在。 – user1051434

回答

1

你不应该为编码的UI测试设置你的数据库。相反,你应该嘲笑你的数据库。用户界面是被测系统(SUT),而不是数据库。你必须尽可能隔离你的SUT。这通常是用模拟框架完成的。

+0

是的,我知道我可以使用模拟对象来做到这一点。我搜索了关于模拟框架,但我没有发现任何有用的东西,你能帮我吗? – user1051434

+0

维基百科有一篇关于嘲笑的好文章:https://en.wikipedia.org/wiki/Mock_object有RhinoMocks,http://www.ayende.com/projects/rhino-mocks/downloads.aspx有NMock http: //www.nmock.org/有Moq https://code.google.com/p/moq/ – PVitt

+0

谢谢。我的问题是,我不能独自决定我会做什么。如果我的团队负责人决定测试一个真实的数据库,我必须这样做。我将有一个干净的数据库只是为了测试,所以它不会是一个问题。 – user1051434

相关问题