FItNesse:将Fit fixture转换为Slim

FItNesse:将Fit fixture转换为Slim,fitnesse,fitnesse-slim,Fitnesse,Fitnesse Slim,寻找将FitNesse测试的Fit fixture转换为Slim的解决方案 我拿到命令行了 因为我所有的Fitnesse测试系统都在Slim上运行,所以我需要将CommandLineFixture设置为Slim,以便从测试中执行bash脚本 任何其他的解决方法都应该适合我 我正在尝试执行FitNesse测试中的脚本,该脚本在运行FitNesse服务器的服务器中存在的文件中写入一些文本 但我观察到的是它的打开文件,并没有向其中写入任何文本 所以我只想检查一下,我们对Fitnesse是否有任何约束,

寻找将FitNesse测试的Fit fixture转换为Slim的解决方案

我拿到命令行了

因为我所有的Fitnesse测试系统都在Slim上运行,所以我需要将
CommandLineFixture
设置为Slim,以便从测试中执行bash脚本

任何其他的解决方法都应该适合我

我正在尝试执行FitNesse测试中的脚本,该脚本在运行FitNesse服务器的服务器中存在的文件中写入一些文本

但我观察到的是它的打开文件,并没有向其中写入任何文本

所以我只想检查一下,我们对Fitnesse是否有任何约束,以执行写入文件的脚本

此外,我还为文本文件授予了all
rwx
权限

下面是我修改过的脚本:

!define TEST_SYSTEM {slim} 
!path ../fixtures/*.jar  
|Import                                            |  
| nl.hsac.fitnesse.fixture.slim.ExecuteProgramTest | 
|script                                            | 
|set    |-c            |as argument|0              |  
|set    |ls -l /       |as argument|1              |  
|execute|/bin/bash                                 |  
|check  |exit code     |0                          |  
|show   |standard out                              |  
|check  |standard error|!--!                       |
执行上述测试没有得到响应,结果如下:

测试页面:0对,0错,1忽略,0异常

断言:0对,0错,0忽略,0异常

(0.456秒)


我已经有了一个助手方法来启动我的程序,但我今天开始了fixture的工作。这个固定装置对你有用吗

用法示例:

我们可以使用一些参数运行程序,检查其退出代码并显示其输出

|script |execute program test        |
|set    |-c            |as argument|0|
|set    |ls -l /       |as argument|1|
|execute|/bin/bash                   |
|check  |exit code     |0            |
|show   |standard out                |
|check  |standard error|!--!         |
程序执行的默认超时是一分钟,但我们可以设置自定义超时。此外,我们可以控制调用它的目录,使用列表设置所有参数,并获得“未格式化”的输出

|script               |execute program test           |
|check                |timeout           |60000       |
|set timeout of       |100               |milliseconds|
|set working directory|/                              |
|set                  |-c, ls -l         |as arguments|
|execute              |/bin/bash                      |
|check                |exit code         |0           |
|show                 |raw standard out               |
|check                |raw standard error|!--!        |
超时时间也可以以秒为单位设置,并传递环境变量(转义进程的输出以确保其正确显示)

|脚本|执行程序测试|
|将超时设置为| 1 |秒|
|为| BLA设置值| Hi ||
|将|-c |设为参数| 0|
|设置|-echo${BLA}-|作为论据| 1|
|执行|/bin/bash|
|检查|退出代码| 0|
|查看|原始标准输出|-你好
-!|
|检查|标准输出|{{{Hi
}}}|

我使用了提供的库,但它不起作用。下面是我正在尝试执行的脚本:!定义测试系统{slim}!path/home/fixtures/hsac-fitnesse-fixtures-2.11.1-SNAPSHOT.jar | Import | nl.hsac.fitnesse.fixture.slim.ExecuteProgramTest |而不是上面提供的代码之一。据我所知,导入表应该只包含包名,而不是类。你能试试吗?如果这没有帮助,您可以分享发生了什么错误吗?我相信您需要向路径添加更多JAR:库使用的依赖项。我通常通过maven类路径插件(例如,
!pomFile../pom)来实现这一点。xml@compile
),或者让Maven将我的所有依赖项复制到一个目录(例如fixture),然后使用
!路径fixtures/*.jar
。很高兴知道这个。我正在尝试执行Fitnesse测试中的脚本,该脚本在运行Fitnesse的服务器中存在的文件中写入一些文本。但我观察到的是它的打开文件,而不是在其中写入任何文本。所以我只想检查一下,我们对Fitnesse是否有任何约束,以执行写入文件的脚本。而且我已经给了所有rwx文件的权限。!定义测试系统{slim}!path../fixtures/*.jar | Import | nl.hsac.fitnesse.fixture.slim.ExecuteProgramTest | script | set |-c | as参数| 0 | set | ls-l | as参数| 1 |执行|/bin/bash |检查|退出代码| 0 |显示|标准输出|检查|错误|!--!|执行上述测试没有得到响应。并给出结果:测试页面:0对,0错,1忽略,0异常断言:0对,0错,0忽略,0异常(0.456秒)。我认为您必须从导入下面的行中删除“.ExecuteProgramTest”。然后,必须在带有“script”的行上方添加一个空行,并且在带有script的行末尾应成为
| script | ExecuteProgramTest |
。这应该可以解决这个问题。谢谢你耐心地帮助我解决这个问题。如果有帮助的话,你能接受我的答案吗?
|script        |execute program test           |
|set timeout of|1              |seconds        |
|set value     |Hi <there>     |for        |BLA|
|set           |-c             |as argument|0  |
|set           |!-echo ${BLA}-!|as argument|1  |
|execute       |/bin/bash                      |
|check         |exit code      |0              |
|check         |raw standard out               |!-Hi <there>
-!|
|check|standard out|{{{Hi <there>
}}}|