JUnit中的invoke

AAAAServlet.java:
protected void execute(HttpServletRequest req, HttpServletResponse res, DataSource ds) {************}

AAAAServlet.javaをテスト
Class<? extends Object> clazz = AAAAServlet.class;
Method method = clazz.getDeclaredMethod("execute", HttpServletRequest.class, HttpServletResponse.class, DataSource.class);
method.setAccessible(true);
MockRequest req = new MockRequest();
req.setParameter(key, value);
MockResponse res = new MockResponse();
method.invoke(new AAAAServlet(), req, res, ds);
assertEquals(actualValue, res.getDocument());

时间: 2024-11-07 05:05:25

JUnit中的invoke的相关文章

Junit中对私有方法测试

在Junit中对私有方法进行测试有两种方法: 一.改变私有方法的访问权限(此方法并不推荐) 二.使用反射机制(推荐) 例如:Calculator类中有一个  private int add2(int a,int b) { return a+b; } 那么在我们的测试类的测试方法中: @Test public void add2() { Calculator c=new Calculator(); Class<Calculator> cal=Calculator.class; try { Met

junit中的assert方法总结

junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condition);    判断一个条件是true还是false.感觉这个最好用了,不用记下来那么多的方法名. 2.fail([String message,]);    失败,可以有消息,也可以没有消息. 3.assertEquals([String message,]Object expected,Ob

解释JUnit中@BeforeClass和@AfterClass标注的方法必须是static的,而在TestNg不必

在JUnit中@BeforeClass和@AfterClass标注的方法必须是static的:但是在TestNg中却没有这样的限制,这是为什么呢. 其实和他们两的运行机制有关. 在junit中: 每运行一个@Test方法,就会为该测试类新建一个新的实例.(所以@BeforeClass和@AfterClass必须是static的,因为运行他们的时候,测试类还没有实例化呢.) 有没有发现这有助于提高测试方法之间的独立性,因为每个@Test执行的时候,都新建了一个实例,这样的话,可以避免测试方法之间重

Junit中常用的注解说明

Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能.在junit中常用的注解有@Test.@Ignore.@BeforeClass.@AfterClass.@Before.@After.@Runwith.@Parameters 以下是相关的介绍和使用说明: 一[email protected] 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类.在junit4中,定义一个 测试方法变得简单很多,只

C#中的invoke和begininvoke

原帖:http://www.cnblogs.com/Z-King/archive/2011/11/03/2234337.html 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke.begininvoke. 2. delegate中的invoke.begininvoke. 这两种情况是不同的,我们这里要讲的是第1种.下面

自定义java注解(三) 实现Junit中的@Test、@Before、@After

前面两次的自定义注解,都只是解析了一个注解,今天要讲的junit需要三个注解,而且解析框架中反射激活方法时要根据Before.Test.After的顺序来执行,需要注意的是Test注解可能会有多个,所以我们在外面定义一个数组,用来存储所有由@Test标注的方法.下面来看一下具体实现 三个注解的定义 @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Inherited public @inter

Junit中的异常测试

前言 在写单元测试的时候,经常会遇到需要断言方法需要抛出一个异常这种场景,这时,就会用到Junit的异常测试功能 方式 1.使用@Test注解自带的 expected 属性来断言需要抛出一个异常,如下: @Test(expected = IllegalStateException.class) public void testExpect() { throw new IllegalStateException(); } 在运行测试的时候,此方法必须抛出异常,这个测试才算通过,反之则反. 2.使用

转载:C#中的Invoke理解一

在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写: void ButtonOnClick(object sender,EventArgs e) { button.Text="关闭"; } 这样的写法运行程序之后,可能会触发异常,异常信息大致是“不能从不是创建该控件的线程调用它”.注意这里是“可能”,并不一定会触发该种异常

Junit中的类加载spring配置信息

package org.util.test; import org.springframework.beans.BeansException;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.util.StringUtils;import org.junit.*; public class UnitTestBase { private Class