网站建设 管理与维护试题,wordpress4.9多个主题,搜索引擎优化方法有哪几种,西安做网站公司哪家行使用Jython对Java做单元测试#xff0c;当然#xff0c;为了测试开发java代码。这涉及到引入第三包的问题#xff0c;如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/article/details/37739207 这里的实现的函数#xff0c;扫描指定文件夹下的jar包#…使用Jython对Java做单元测试当然为了测试开发java代码。这涉及到引入第三包的问题如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/article/details/37739207 这里的实现的函数扫描指定文件夹下的jar包然后通过sys.path.append()函数增加到jython的sys.path里面。
for jar_file in scan_files(/home/jim/java_jar,postfix.jar):
sys.path.append(jar_file)
import 第三方包必须先append进来后才干够import,要不然会报找不到包。有些人在使用过程中说有要同一时候增加到CLASSPATH里面。我使用的时候。仅仅是mysql driver这个jar包须要增加到CLASSPATH里面其它的直接增加到sys.path里面就能够用了。
这里演示样例第三方包是commons-net-3.3 能够总这里下载jar包 http://commons.apache.org/proper/commons-net/download_net.cgi
注意这里from org.apache.commons.net.ftp import FTPClient 还是和cpython有点不一样的FTPClient在这里是个文件相应Cpython里面叫着一个模块在Cpython里面要初始化FTPClient这个类。应该是ftpFTPClient.FTPClient(), 由于FTPClient.FTPClient才是真正的类。但这里是ftpFTPClient,Jython是java实现的。遵守java的规则多点吧。
#!/usr/bin/env jython
#codingutf-8
import sys
import os
import java
import unittest
import time
#scan_files是在另外一个地方实现的函数这里删除了函数的实现方法是为了大家看单元測试这块清晰
for jar_file in scan_files(/home/jim/java_jar,postfix.jar):
sys.path.append(jar_file)
#print sys.path
from com.mysql.jdbc import Driver
import java.sql.Connection
from java.sql import DriverManager
import org.apache.commons.net.ftp.FTP;
from org.apache.commons.net.ftp import FTPClient
import org.apache.commons.net.ftp.FTPReply
def mysql_driver_test():
java.lang.Class.forName(com.mysql.jdbc.Driver)
conn DriverManager.getConnection(jdbc:mysql://192.168.19.21:3306/mysql,root,root);
class FTPClientTest(unittest.TestCase):
def setUp(self):
self.start_timetime.time()
print starting\n,
def test_login(self):
ftpFTPClient()
ftp.connect(192.168.23.117)
ftp.login(root,root)
self.assertEquals(ftp.getReplyCode(),230)
def test_files_list(self):
#这里之所以又一次登录ftpserver不重用前面case的结果。就是为了保持各个case的独立性确保不会
#由于前面case的原因影响后继的測试
file_existingFalse
ftpFTPClient()
ftp.connect(192.168.23.117)
ftp.login(root,root)
if ftp.getReplyCode()230:
files ftp.listNames(/export/home/test)
for fi in files:
if python-2.5-sol10-x86-local.gz in fi:
file_existingTrue
break
self.assertEquals(file_existing,True)
def tearDown(self):
print cost, time.time()-self.start_time, second
print end
if __name____main__:
unittest.main()执行结果:
[roothost-192-168-53-21 jythontest]# jython importjar.py
starting
cost 0.157999992371 second
end
.starting
cost 0.0529999732971 second
end
----------------------------------------------------------------------
Ran 2 tests in 0.215s
OK
版权声明本文博主原创文章博客未经同意不得转载。