2016-11-25 58 views
0

我想在使用dbfit的fitnesse上测试不同环境中存在的表上的不同查询。每个环境都有不同的连接字符串。因此,不要为每个环境创建多个页面(这又是一个单调乏味的任务,因为每次查询中的单个更改都可能导致所有测试页面发生更改),我想将连接字符串存储在单个文件中(可能是文本或Excel表格),并根据需要从中读取连接字符串。如何从fitnesse中的文件读取连接字符串?

任何人都可以帮助我了解如何进行?

+2

嗨Akshya,欢迎来到堆栈溢出! :)当你发布问题时,发布你已有的内容会非常有帮助。这样,这个人帮助你看到你已经拥有的东西变得更容易。 – Shrayas

+0

您是否考虑过通过'!define'(http://fitnesse.org/FitNesse.UserGuide.FitNesseWiki.MarkupLanguageReference.MarkupVariables)使用变量来存储连接字符串?然后,您可以有一个套件来定义要测试的内容,并通过“符号链接”(http://fitnesse.org/FitNesse.UserGuide.FitNesseWiki.SymbolicLinks)引用该套件以在每个环境中创建一个套件。那么你就可以得到两全其美的好处:通过选择要运行的套件来单独定义哪些查询以及在不同环境中执行的能力。 –

+0

Dbfit允许您将连接字符串保存在文件中 - 请参阅http://dbfit.github.io/dbfit/docs/reference.html中的“使用文件连接” –

回答

0

我不确定以下是否完全符合您的要求,但我对每个数据库都有自己的“配置”页面。然后,我只是include配置页在每个测试页:

!include -c .DbFitSetup.UseDbX 

您可以简单地通过包括新配置,下面的例子演示了测试过程中切换数据库:

[email protected]:~/test/FitNesseRoot$ cat DbFitSetup/UseDbX/content.txt 
!path lib/*.jar 
!|dbfit.OracleTest| 
!|Connect|dbx.example.com:1531|<username>|<password>|dbx| 
[email protected]:~/test/FitNesseRoot$ cat DbFitSetup/UseDbY/content.txt 
!path lib/*.jar 
!|dbfit.OracleTest| 
!|Connect|dby.example.com:1531|<username>|<password>|dby| 
[email protected]:~/test/FitNesseRoot$ cat ExampleTestSuite/ExampleTest/content.txt 
!include -c .DbFitSetup.UseDbX 

!|inspect query|select sysdate, global_name as db_name from global_name| 

!include -c .DbFitSetup.UseDbY 

!|inspect query|select sysdate, global_name as db_name from global_name| 
[email protected]:~/test/FitNesseRoot$ 
相关问题