`
luckaway
  • 浏览: 138133 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

私有方法的单元测试

阅读更多
直接上例子


待测试的类
public class Calculator {
	private int count = 0;

	private int add(int a, int b) {
		return a + b;
	}

	private void increase() {
		count++;
	}

}


测试Calculator的testcase。
public class CalculatorTest extends TestCase {
	private final Calculator calculator = new Calculator();

	public void testAdd() {
		Class clazz = calculator.getClass();
		try {

			Method addMethod = clazz.getDeclaredMethod("add", int.class, int.class);//jdk新特性:可变参数
			addMethod.setAccessible(true);//设置该方法可见
			Integer result = (Integer) addMethod.invoke(calculator, 5, 6);//jdk新特性:可变参数
			assertEquals(11, result.intValue());
		} catch (Exception e) {
			assertTrue(false);
		}
	}

	public void testIncrease() {
		Class clazz = calculator.getClass();
		try {
			Field countField = clazz.getDeclaredField("count");
			countField.setAccessible(true);//设置该字段可见
			Integer count = (Integer) countField.get(calculator);

			Method increaseMethod = clazz.getDeclaredMethod("increase");
			increaseMethod.setAccessible(true);
			increaseMethod.invoke(calculator);
			Integer count2 = (Integer) countField.get(calculator);
			assertEquals((Integer) (count + 1), count2);
		} catch (Exception e) {
			e.printStackTrace();
			assertTrue(false);
		}
	}
}
分享到:
评论

相关推荐

    对私有方法进行单元测试

    本篇将深入探讨如何对私有方法进行单元测试,这是一个经常被忽视但至关重要的主题。私有方法虽然在类内部使用,但它们的正确性同样影响着整个系统的稳定性和可靠性。 私有方法通常不直接暴露给外部调用,因此,常规...

    利用PowerMock模拟静态方法和私有方法的示例

    然而,有些情况下,正常的单元测试框架可能无法覆盖到所有的情况,比如静态方法和私有方法的测试。这时,我们就需要引入特殊的工具,如PowerMock。本文将详细介绍如何利用PowerMock来模拟静态方法和私有方法,以便...

    软件测试中单元测试VS私有方法

    软件测试中单元测试VS私有方法软件测试前几天,NareshJain在ManagedChaos上发了篇博客,总结了一些测试中的badsmell。例如:●一个方法中有太多testcase——被测试的方法做了太多事情。●太多的setup/teardown——...

    c#单元测试例子

    总结起来,C#单元测试涉及创建测试类、定义测试方法,并使用断言来验证预期结果。对于私有方法的测试,虽然不常见,但有时也是必要的。通过遵循最佳实践,我们可以编写出健壮的单元测试,确保代码的质量和可靠性。

    NUnit单元测试方法

    NUnit 执行单元测试方法,包含public, private, protected 方法的测试方法。 NUnit单元测试 私有(private)方法单元测试 protected方法单元测试 public 方法单元测试

    VS2010单元测试工具使用

    对于私有方法的测试,VS2010通过私有访问器(PrivateObject)提供支持,使得即使非公共成员也可以进行单元测试。 总结来说,VS2010的单元测试工具提供了完善的环境,帮助开发者构建和执行测试,确保代码的质量和...

    VS2005中的单元测试

    VS2005中的单元测试是软件开发过程中用于验证代码功能正确性的一种自动化测试方法。在Visual Studio 2005中,开发人员可以利用内置的测试工具来创建、执行和管理单元测试,确保代码质量并减少潜在的缺陷。本文将详细...

    如何在C ++中对私有函数进行单元测试?

    在C++编程中,单元测试是一种重要的软件质量保证方法,它允许开发者独立地验证程序的各个部分,确保每个模块的功能正确无误。然而,由于C++的封装特性,私有函数通常不能直接从外部访问,这给单元测试带来了挑战。本...

    Visual Studio单元测试教程

    - 生成测试项目,然后在“测试视图”或“测试管理器”中选择要运行的测试方法,使用调试器运行测试。 4. 分析测试结果: - 通过、错误和无结论分别代表测试通过、失败和无法验证的情况。详细的测试结果可以在...

    VS2010中的单元测试

    此外,VS2010还支持数据驱动的单元测试,这是一种将不同输入数据与测试方法关联的方法。通过`[DataSource]`特性,我们可以指定数据源(如CSV文件或数据库),然后在测试方法中使用这些数据。这大大减少了为各种输入...

    单元测试工具 C++单元测试工具 静态代码分析 代码动态测试

    C++单元测试工具 Parasoft C++ Test 简介 Parasoft C++ Test 是 Parasoft 公司出品的一个针对 C/C++源代码进行自动化单元测试的工具。这个工具可以对源代码进行三种测试:白盒测试、黑盒测试和回归测试。 白盒...

    junit测试private函数

    JUnit作为Java领域最流行的单元测试框架,通常用于测试公共方法。然而,有时我们可能需要测试私有(private)方法,因为它们可能包含关键逻辑,尽管直接调用它们并不符合面向对象设计的原则。本篇文章将详细介绍如何...

    C#私有成员反射调用类库

    私有成员反射调用在单元测试中有时是有用的,尤其是在测试内部逻辑或私有辅助方法时。例如,当我们想要验证某个私有方法的行为,但这个方法没有公开的入口点,反射就提供了一个解决方案。然而,这应该谨慎使用,因为...

    spring MVC junit 单元测试(controller)

    在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...

    java反射机制,调用私有方法

    2. **访问私有成员**:通过反射,我们可以访问类的私有字段和方法,这在单元测试、调试或某些特定场景下可能需要。`Method`类提供了`getDeclaredMethod()`方法来获取类的私有方法,而`invoke()`方法则可以用来调用这...

    JUnit4利用反射机制测试类的私有成员

    在Java编程中,单元测试是确保代码质量的重要环节。JUnit4作为Java领域广泛使用的单元测试框架,提供了丰富的功能来帮助开发者测试代码。然而,对于类的私有成员(包括私有方法和私有属性),由于其封装性,通常不易...

    单元测试工具C++Test简介

    Test简介单元测试工具C++Test简介软件测试C++Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:白盒测试、黑盒测试以及回归功测试。白盒测试C++Test对C/C++源...

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境的搭建是一个非常重要的步骤。本文将详细介绍如何在 ...

    VS2010单元测试工具使用.rar_4S3Z_VS2010单元测试工具使用_wingl2t

    VS2010单元测试工具的一个独特功能是支持私有访问器。这意味着你可以测试类的私有方法,即使它们不是公共API的一部分。通过使用`Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject`和`Microsoft.Visual...

    单元测试中PowerMock常用方法.

    在单元测试领域,PowerMock是一个强大的工具,它扩展了诸如Mockito等模拟框架的功能,允许开发者模拟静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器等。这一工具对于测试那些难以或者无法正常...

Global site tag (gtag.js) - Google Analytics