【java – 使用Mockito进行单元测试时避免使用最终方法?】教程文章相关的互联网学习教程文章

java – 解析文件的单元测试,如何从应用程序内部加载文件?

我想测试一个解析excel文件的服务方法所以我需要以下方面的帮助: >我想在web-app下为excel文件创建一个测试文件夹,该怎么做?>如何在单元测试中加载文件? 请指教,谢谢.解决方法:我通常将文件放入资源并将其加载为this.getClass().getResourceAsStream(“my.xsl”). 请注意.如果您将文件放在测试所在的同一个包中,则只需输入本地名称即可.否则,您应该提供以/开头的绝对路径.如果您的应用程序不知道使用流并且需要文件,请使用this....

我怎样才能在java中对这个方法进行单元测试?【代码】

我正在使用Struts2框架,并希望对下面的execute方法进行单元测试:public String execute() {setDao((MyDAO) ApplicationInitializer.getApplicationContext().getBean("MyDAO"));setUserPrincipal(); //fetches attribute from request and stores it in a varsetGroupValue(); //setResults(getMyDao().getReportResults(getActionValue(), getTabName());setFirstResultSet((List) getResults()[0]);setSecondResultSet((List) g...

java – 使用Mockito进行单元测试时避免使用最终方法?

Mockito不允许嘲笑最终方法.在代码中使用最终方法被认为是不好的做法吗?为什么? 我不想仅仅为了使测试代码工作而改变实现细节,但是,测试框架通常会有这些规则来鼓励更好的编码实践.解决方法:最终的方法绝对不是一般的做法:它们传达了一个关于方法的行为和语义的特定信息 – 也就是说,任何调用该方法的人都将获得完全相同的实现.这正是您试图通过模拟颠覆的属性,因为您通过(动态生成的)子类重写最终实现来代替执行存根行为. 为此...

java – 这是集成测试还是单元测试?【代码】

不仅仅是一个实际案例,这是我在试图获得单元测试和集成测试之间的详细差异时遇到的问题. 假设我有类Sum,它增加了两个整数:class Sum{int x;int y;public int add(){return x + y;}...getters and setters... }我还有另一个负责验证结果的类,以确认值是预期的.仅举例来说,假设我们只想添加正数:class ValidateSum{Sum sum;public boolean validate(){if(sum.getX()>=0 and sum.getY()>=0){return true;}else{return false;}}... g...

java – 如何对文件作为参数的方法进行单元测试和模拟【代码】

我有一个类CollectionObject创建一个ArrayList.public class CollectionObject {private List<String> collectionObject;public CollectionObject() {collectionObject = new ArrayList<String>();}public List<String> getCollectionObject() {return collectionObject;}public void add(final String stringToWrite) throws VerifyException {collectionObject.add(stringToWrite);} }还有另一个类接受类CollectionObject并使用它...

java – 单元测试:在定义模拟行为后调用@PostConstruct【代码】

我有两节课:public MyService {@Autowiredprivate MyDao myDao; private List<Items> list; @PostConstructprivate void init(){list = myDao.getItems(); } }现在我想在单元测试中涉及MyService,所以我会模仿MyDao的行为. XML:<bean class = "com.package.MyService"> <bean class="org.mockito.Mockito" factory-method="mock"> <constructor-arg value="com.package.MyDao"/> </bean><util:list id="responseItems...

java – 我应该如何使用junit对Spring,Hibernate和Struts进行单元测试

什么是最佳做法?我该如何实现它以便数据库不被污染?解决方法:如果要对访问数据库的代码执行集成测试,则可以使用DBUnit.DBUnit可以在每次测试之前将测试数据加载到数据库中.这可以帮助您将测试用例的结果与预期的值集进行比较.

java – 可以选择将单元测试或集成测试添加到现有系统,哪个更好,为什么?

我目前正在咨询现有系统,我怀疑正确的下一步是添加单元测试,因为正在发生的异常类型(空指针,空列表,无效的返回数据).但是,在应用程序中进行“个人投资”的员工坚持进行集成测试,即使报告的问题与特定用例失败无关.在这种情况下,最好是从单元测试还是集成测试开始?解决方法:通常,很难对未经测试的代码库进行改进以进行单元测试.将会有高度的耦合,并且运行单元测试将比您获得的回报更大的时间下降.我推荐以下内容: >获取Michael Fe...

java – 如何对自定义RecordReader和InputFormat类进行单元测试?【代码】

我开发了一个map-reduce程序.我编写了自定义RecordReader和InputFormat类. 我使用MR Unit和Mockito进行映射器和减速器的单元测试. 我想知道如何单元测试自定义RecordReader和InputFormat类?测试这些类的最佳方法是什么?解决方法:感谢user7610 来自answer的示例代码的编译和测试版本import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.mapreduce.InputFormat; import org...

java – Aerospike的单元测试

是否有可用于Aerospike Unit Testing的内存模拟服务器?目前我在我的本地有流浪汉设置来运行aerospike但是我们的构建服务器上可能没有.我该如何进行单元测试?解决方法:你看过Docker了吗?它是创建自包含环境和管理资源使用的非常有用的工具.它也适用于Vagrant,因此您可以在开发环境中构建容器并轻松移植它们以进行测试

java – 使用Maven构建单独的JAR文件,以便对自定义类加载器进行单元测试【代码】

作为我当前项目的一部分,我创建了一个自定义类加载器.自定义加载器的部分单元测试涉及使用一些JAR文件来演示加载器的正确行为. 我想在运行实际的单元测试之前从Java源构建测试JAR文件.此外,测试JAR文件在运行单元测试时不能在类路径上,因为我想在测试执行期间动态加载它们. 是否有一种标准模式可以实现这种“在测试阶段之前在一侧构建一些JAR但是将它们排除在类路径之外”的要求?我不敢相信我是第一个尝试用Maven 2做这件事的人,但...

java – 如何在单元测试中读取配置文件?【代码】

我有一个标准的maven项目布局.一些配置文件存储在src / main / conf中.现在我想在src / test中的单元测试中读取这些文件(例如,从其中一个文件中读取属性).我怎么能完全这样做?解决方法:您需要配置maven以将这些文件用作测试资源. 只需在pom.xml中指定它.比maven将处理与测试资源相同的配置文件.<build>...<testResources><!-- don't forget to specify the default test resources directory --><testResource><directory>src/tes...

java – 完成了我的第一个Spring MVC应用程序 – 老板想看我的单元测试 – 我从哪里开始?【代码】

我只是把一个快速的Spring MVC应用程序作为一个演示来组成,以替换我部门的内部应用程序. 现在我应该演示测试驱动开发如何与Spring MVC相关. 不幸的是我没有使用TDD来构建演示,我不知道从哪里开始. 我正在使用Maven进行构建 – 是否有任何基于Maven的测试框架很容易在Spring MVC中开始并且有很好的教程? 我从哪里开始?解决方法:因为TDD对代码和方法的编写方式有着巨大的影响,所以在大多数复杂的情况下都不可能伪造它!我的意思是如...

java – 伪装单元测试的构造函数

我有一组在实例化时具有依赖关系的类,也就是说,在创建类型A的对象时,它还创建另一个类型B,随后创建其他类型为C的类,等等. 对于测试问题,我不需要所有级别的全部功能来测试上层,所以我可以使用存根或模拟,但由于我在构造函数中有明确的新方法,除了更改代码之外我看不到直接的方法使用AbstractFactory并提供一个在测试时创建假货的. 那么,是否有任何“黑魔法”方法来破解Java类加载器,以便在使用new实例化对象时创建虚假测试类而不是...

java – 添加静态方法以促进更清晰的单元测试 – 良好实践?【代码】

说我有这个班:class MyClass {private String s;// more attributes herepublic MyClass(String s, /*more constructor params*/) {...}public String myMethod(String s) {//complex logic here} }要对单元测试myMethod()我需要创建整个对象(需要构造许多参数等),而方法只使用s. Altenatelly我可以添加一个静态方法:class MyClass {private String s;// more attributes herepublic MyClass(String s, /*more constructor para...

单元测试 - 相关标签