python可以测试java的代码吗_使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方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这个类。应该是ftp=FTPClient.FTPClient(), 由于FTPClient.FTPClient才是真正的类。但这里是ftp=FTPClient(),Jython是java实现的。遵守java的规则多点吧。
#!/usr/bin/env jython
#coding=utf-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_time=time.time()
print "starting\n",
def test_login(self):
ftp=FTPClient()
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_existing=False
ftp=FTPClient()
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_existing=True
break
self.assertEquals(file_existing,True)
def tearDown(self):
print "cost", time.time()-self.start_time," second"
print "end"
if __name__=="__main__":
unittest.main()执行结果:
[root@host-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
版权声明:本文博主原创文章,博客,未经同意不得转载。
python可以测试java的代码吗_使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹...相关推荐
- cmd库的导入Java,在cmd命令窗口导入第三方jar包来运行java文件
在cmd命令窗口导入第三方jar包来运行java文件,以下测试都是基于window环境,Linux环境没有测试. 1.编译 使用命令javac -cp或者javac -classpath 本机测试:如 ...
- c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦
python有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中python也超越了java成为了第一,挺替python开心的.pyth ...
- gtest测试框架使用详解_【python】新手小白必看,教你如何使用全功能Python测试框架 - python秋枫...
大家好,我是在升职加薪道路上越奋斗头发越少的阿茅. 今天来跟想入门还徘徊在门外的小白们聊一聊 1.安装和简单使用 2.配置文件 3.断言 一. 第1步 (安装和简单使用) pytest是一个非常成熟的 ...
- python登录代码思路_用python登录Dr.com思路以及代码分享
用python登录Dr.com思路以及代码分享 发布于 2014-08-28 22:31:52 | 192 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...
- python基础代码技巧_写Python必须知道的这几个代码技巧!你会吗?
Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖! 01. 简洁的表达式 点评:Python因为 ...
- python天勤金叉编程代码大全_这些Python编程黑科技,装逼指南,高逼格代码,让你惊叹不已...
1.单行写一个评级组件 "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后执行上面代码,看图 才发现插件什么的都 ...
- java小恐龙游戏_用Python实现谷歌的小恐龙游戏
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 谷歌流量器中有个很有名的彩蛋:当你网络出现问题时,就会出现一个"小恐龙游戏&quo ...
- python控制台执行代码字符串_编写Python脚本以使用控制台命令执行
研究是在底部,阅读之前...谢谢.在 我必须编写一个运行SQL查询的Python脚本.我创建了一个主类,名为SQLQuery.每个SQLQuery实例表示一个查询.脚本的结构必须如下所示:class ...
- python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...
在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...
最新文章
- jQuery绑定事件的三种常见方式(bind、one、【change、click、keydown、hover】)
- Python 三十大实践、建议和技巧(附代码链接)
- js中各种跨域问题实战小结
- MVC 3 基本操作增加修改
- 任正非之女姚安娜正式出道
- pillow api
- java多线程具体总结
- python函数和模块有什么关键特性_【Python函数与模块】(2)函数的特点
- QQ2011的DD包密码验证报文解密密钥计算困惑之二
- iOS Unicode转中文(UTF-8)
- java excel通用导入类_java excel 文件导入通用接口
- Python实现APP自动化发微信群消息。这才是内卷的极致。
- 【STM32训练—SIM900A模块】第二篇、STM32驱动SIM900A发送中文和英文短信
- linux shell脚本教程
- c语言文件指针重新定向,C语言rewind()函数:将文件指针重新指向文件开头
- 案例 | 巴别鸟助推WE+管理入驻企业文档资料
- 计算机期末总结ppt课件,计算机期末总结
- 微信mars学习笔记
- 如何用算法绘制一张上海外滩夜景图
- 乌镇互联网大会发布15项世界领先科技成果
热门文章
- java config 类_Spring ----JavaConfig类代替XML配置Bean
- ubuntu ifconfig只有lo没有ens33的问题
- pytorch之with torch.no_grad
- 信息抽取--关键词提取
- 预科教育计算机基础知识重点归纳,民族预科班计算机教育论文
- java js中 function函数报错_浅析JS中对函数function的理解(基础篇)
- GC算法 垃圾收集器
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构区别...
- Leetcode(11)-盛最多水的容器
- bzoj4380[POI2015]Myjnie dp