2.7 MongoDB 测试组件
对于MongoDB 来说,你不需要翻着Mongo Java API 去写测试组件,因为有现成的可以借鉴。
打开 https://github.com/mahartma/robotframework-mongodblibrary,单击“Download.ZIP”按钮,下载项目。
打开Eclipse , 新建Java 项目, 如图2-7-1 所示, 把项目导入Eclipse。
图2-7-1 导入robotframework-mongodblibrary 项目
导入后打开de.codecentric.robot.mongodblibrary.keywords 这个包,可看到如图2-7-2 所示代码。
图2-7-2 de.codecentric.robot.mongodblibrary.keywords 代码
我们把有错误提示的startupEmbedded、startupEmbeddedOnPort、shutdownEmbedded 这三个方法删掉, 把mongodExecutable 这个有错误提示的成员变量也删掉,然后把de.codecentric.robot.mongodblibrary.keywords 这个包复制到FitNesse 项目中。
还是按以前的步骤,在robotframework-mongodblibrary 这个项目下,依次打开Build Path → Config Buid Path → Libaraies, 这时可以看到mongo-java-driver 这个jar,它的路径是,在robot-bin 下,把这个jar 文件复制并粘贴到FitNesse 的lib 文件夹里,修改build.xml 的“compileserver”target,加上导入这个jar 包的配置项,如图2-7-3 所示。
图2-7-3 导入mongo-java-driver
最后一步是修改MongodbLibrary 这个类里的方法名。比如publicvoid connectToServer(String server,String port,String database)这个方法,可以修改为connectToServerWithPortAndDatabase。这样在前台测试案例里就可以用以下方法调用:
!|script |mongodb library|
|connect to server |168.9.9.124|with port|8080|and
database|test|
你可以发现参数都夹杂在组成方法名的单词里, 这也是我们使用FitNesse 所必须遵循的规定。同理, 像此类的方法public voidinsertDocument(String collectionName、String jsonString)必须重命名,可以重命名为insertToCollectionWithDocument。
然后我们就可以像这样使用它 :
!|script |mongodb library|
| i n s e r t t o c o l l e c t i o n | t e s t _ c o l l e c t i o n | w i t h
document|{"name":"james"}|
此处你就可以随意拆分单词插入你的参数了。
作业:
此类剩余的方法名都按照本文所示例子去修改,只要把方法改为由几个单词组成的方法名,除方法名首字母外,其他单词的首字母都要大写。