用python做自动化测试--对Java代码做单元测试 (1)
2014-07-12 12:02
357 查看
大多数时间我们说的python,指的是C实现的python, 在这篇文章里,我们要说的是java实现的python,她的名字叫Jython, 大家可以到到官方网站http://www.jython.org/ 看看,最近2年很活跃,发布新版本比较多,其实我在jython 2.1版本的时候就开始接触过,但当时看到社区不活跃,没继续学习应用下去。最近公司有几个项目需要对外发布java 实现的API, java毕竟没那么熟悉,写起API接口测试的代码来速度还是没那么快,
还是高大上的python来的快, python太强大,强大到很干任何事情,任何事情要写代码做的,我第一个想到的是用python去解决,然后我也没有压力,没有太大动力去学习其他语言了,我不知道这是祸还是福。
下面一个简单例子说明怎么对java代码做单元测试。最近一个项目要实现一个唯一的ID,开发是用java的 SecureRandom实现的,话说很难出现重复,我还是想测测多大概率会出现重复,test_unique实现了这个单元测试代码,其实是对SecureRandom方法的一个单元测试。test_max 加上这里就是为了演示用而已。
from java.security import SecureRandom
from java.lang import Math
这2个包都是JDk里自带的方法,不是jython里的,我们对这2个方法做测试。
Finding files... done.
Importing test modules ... done.
starting
cost 0.000999927520752 second
end
starting
cost 1.85600018501 second
end
----------------------------------------------------------------------
Ran 2 tests in 2.043s
OK
如果想命令行运行unittest, 加上。
if __name__ == '__main__':
unittest.main()
还是高大上的python来的快, python太强大,强大到很干任何事情,任何事情要写代码做的,我第一个想到的是用python去解决,然后我也没有压力,没有太大动力去学习其他语言了,我不知道这是祸还是福。
下面一个简单例子说明怎么对java代码做单元测试。最近一个项目要实现一个唯一的ID,开发是用java的 SecureRandom实现的,话说很难出现重复,我还是想测测多大概率会出现重复,test_unique实现了这个单元测试代码,其实是对SecureRandom方法的一个单元测试。test_max 加上这里就是为了演示用而已。
from java.security import SecureRandom
from java.lang import Math
这2个包都是JDk里自带的方法,不是jython里的,我们对这2个方法做测试。
#!/usr/bin/env jython #coding=utf8 from java.security import SecureRandom from java.lang import Math import unittest import time import sys class UniqueRandomTest(unittest.TestCase): def setUp(self): self.start_time=time.time() print "starting\n", self.dic={} def test_unique(self): unique=False for i in xrange(1,100000): random=SecureRandom() a=Math.abs(random.nextLong()) if self.dic.has_key(a): unique=True print "duplicate " break else: self.dic[a]=1 self.assertEquals(unique,False) def test_max(self): self.assertEquals(Math.max(8,5),8) def tearDown(self): print "cost", time.time()-self.start_time," second" print "end"运行单元测试, 结果是
Finding files... done.
Importing test modules ... done.
starting
cost 0.000999927520752 second
end
starting
cost 1.85600018501 second
end
----------------------------------------------------------------------
Ran 2 tests in 2.043s
OK
如果想命令行运行unittest, 加上。
if __name__ == '__main__':
unittest.main()
相关文章推荐
- 用python做自动化测试--对Java代码做单元测试 (2)-导入第三方jar包
- 用python做自动化测试--对Java代码做单元测试 (1)
- 使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹
- python做自动化测试,对java代码做单元测试(2)
- C Java PHP Perl Python的程序代码美化工具使用
- 用 Groovy 更迅速地对 Java 代码进行单元测试
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
- python怎样调用java代码
- 在Android平台用Python调用Java代码
- 代码注释率统计的Python及Java实现
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
- 使用 JUnit 进行 Java 代码的单元测试
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
- Python代码实现Java本地化资源字符串的检查,防止出现空指针异常
- C Java PHP Perl Python的程序代码美化工具使用
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
- 【转贴】C Java PHP Perl Python的程序代码美化工具使用
- C Java PHP Perl Python 的程序代码美化工具
- python代码简单模拟Java中的MVC设计
- Jython:Java和Python代码的粘合剂