我正在使用Robot Framework来测试大量的Java文件,我想要添加几个Groovy文件。我已经读过这是可能的,因为编译的Groovy文件是一个.class文件,就像编译的Java文件一样。
这是我的Groovy文件;
import java.io.IOException;
class GroovyTest
{
public String t1(){
return 'PASS'
}
}
这是我的机器人文件;
| *** Settings *** |
| Library | GroovyTest |
| *** Test Cases *** |
| Groovy Sanity | [Documentation] | set pass string |
| \ | GroovyTest.t1 |
| \ | Return GROOVY state |
| *** Keywords *** |
| Return GROOVY state |
| \ | ${value}= | GroovyTest.t1 |
| \ | [return] | ${value} |
| \ | Should Be Equal | ${value} | PASS |
这与我设置所有Java测试用例和关键字的方式完全相同。使用Groovy,我收到了这个错误;
[ WARN ] Imported library 'GroovyTest' contains no keywords
答案 0 :(得分:1)
编辑:此答案仅适用于使用类名“test”的原始发布。
问题是已经存在一个名为test的模块,其中包含Jython本身的单元测试,由Robot Framework而不是测试库加载。尝试更具描述性的类名,如TestGroovyLibrary。
>>> import test >>> help(test) Help on package test: NAME test - # Dummy file to make this directory a package. FILE c:\apps\jython2.5.3\lib\test\__init__.py PACKAGE CONTENTS Graph access_protected_class access_protected_field anygui autotest bad_coding ...
要查看已加载的内容,您可以执行以下操作:
${library}= Get Library Instance test
Log ${library.__file__}
RIDE中的输出:
20130711 10:12:54.117 : INFO : ${library} = <module 'test' from C:\apps\jython2.5.3\Lib\test\__init__$py.class'\>
20130711 10:12:54.130 : INFO : C:\apps\jython2.5.3\Lib\test\__init__$py.class