当前位置:编程学习 > JAVA >>

其实我真心想知道单元测试怎么写

最简单的,
比如删除一个用户,
我不能每次跑单元测试之前都去数据库造一条数据,
然后把ID填写到测试方法中吧,
这一点都不酷,
求指导
单元测试 Java --------------------编程问答-------------------- 导入junit库
测试的方法上注解@Test不就可以了吗?

--------------------编程问答-------------------- 自己去查选junit的用法
如果你用到了spring的话 可以直接用spring对junit的支持
很简单 网上随便查下就可以查到了 --------------------编程问答-------------------- 测试方法里把你要删除的那个用户也insert到数据库中,
这样就酷了。。。 --------------------编程问答--------------------
引用 1 楼 ch656409110 的回复:
导入junit库
测试的方法上注解@Test不就可以了吗?

+1. ... --------------------编程问答--------------------
引用 4 楼 BoJerry 的回复:
引用 1 楼 ch656409110 的回复:导入junit库
测试的方法上注解@Test不就可以了吗?
+1. ...

顶啊啊 --------------------编程问答--------------------
引用 1 楼 ch656409110 的回复:
导入junit库
测试的方法上注解@Test不就可以了吗?

++++1 --------------------编程问答--------------------  CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点 --------------------编程问答--------------------
引用 7 楼 liubey_zff 的回复:
CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点
3楼那样,像你说的就可以.. --------------------编程问答--------------------
引用 7 楼 liubey_zff 的回复:
CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点

如果不想对数据库进行操作的话就使用spring在最后不论什么情况下都进行回滚操作。 --------------------编程问答--------------------
引用 7 楼 liubey_zff 的回复:
CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点

楼上那几个真心搞笑,还+++ --------------------编程问答--------------------
引用 8 楼 justsmilence 的回复:
引用 7 楼 liubey_zff 的回复:CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点3楼那样,像你说的就可以..


那你平常工作鞋单元测试吗 --------------------编程问答--------------------
引用 9 楼 AA5279AA 的回复:
引用 7 楼 liubey_zff 的回复:CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点
如果不想对数据库进行操作的话就使用spring在最后不论……


这个貌似有点意思,你写单元测试吗 --------------------编程问答--------------------
引用 10 楼 BaronZ 的回复:
引用 7 楼 liubey_zff 的回复:CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点
楼上那几个真心搞笑,还+++


早晨起来打开帖子我顿时就哭笑不得啊,哈哈,要疯了 --------------------编程问答--------------------
引用 12 楼 liubey_zff 的回复:
引用 9 楼 AA5279AA 的回复:引用 7 楼 liubey_zff 的回复:CSDN啊,原谅我的无知吧,楼上的各位谢谢你们,你们没有说到点子上。。。我能不会用JUnit吗
我的意思是在对业务逻辑(比如删除用户)做单元测试的时候,我是不是在测试删除之前要用单元测试去生成一个用户(insert到数据库种),然后去校验删除的业务逻辑?
求大虾指点
如果不想对数据库……
这个办法不错,平时基本上都写单元测试,不过也是简单的像你7楼那样 先生成然后顺便删除 --------------------编程问答-------------------- 可能我这种想法不是很现实,我理解的单元测试存在偏差吧,话说这么大个论坛木有人说粗真像。。。
http://stackoverflow.com/questions/10288096/how-to-write-unit-tests-for-functions-that-rely-on-dynamic-data
我在stackoverflow看到这个帖子 --------------------编程问答-------------------- mock数据吧,可以用excel mock几条数据
在进行删除,有工具能做这个,忘记名字了 --------------------编程问答-------------------- 根据《修改代码的艺术》,需要访问数据库的测试不是单元测试,需要访问网络的测试不是单元测试,需要访问文件系统的测试不是单元测试…… --------------------编程问答-------------------- 我们公司的单元测试都是直接运行看效果的。。提交到测试那边,也是直接运行看效果的。。 --------------------编程问答--------------------
引用 17 楼 ggddll123 的回复:
根据《修改代码的艺术》,需要访问数据库的测试不是单元测试,需要访问网络的测试不是单元测试,需要访问文件系统的测试不是单元测试……

这个。。。好深奥的样子,我去拿那本书翻翻看。 --------------------编程问答-------------------- 以下引自《修改代码的艺术》


单元测试运行得快。运行得不快的不是单元测试。

有些测试容易跟单元测试混淆起来。譬如下面这些测试就不是单元测试:

(1) 跟数据库有交互;

(2) 进行了网络间通信;

(3) 调用了文件系统;

(4) 需要你对环境作特定的准备(如编辑配置文件)才能运行的。

当然,这并不是说这些测试就是坏的。编写它们常常也是有价值的,而且你通常也会在单元测试用具内来编写它们。然而,将它们跟真正的单元测试区分开来还是很有必要的,因为这样你就能够知道哪些测试是你可以(在你进行代码修改的时候)快速运行的。

--------------------编程问答-------------------- 单元测试本来就有点吵概念,怎么写并没有标准,看你想要达到多高的覆盖率来判定需要测试的unit的大小,所以我们平时写的就是测试嘛。个人看法,我平时都是先插入,再查询,修改,删除,用junit把crud都测试了,当然还有别的,用maven构建,打包,部署的时候都可以选择是否自动化测试(当然覆盖率比较低,写测试看它是否有价值,不一定都要写,王垠也这么说)
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,