EasyMock TestNG示例

时间:2020-02-23 14:41:19  来源:igfitidea点击:

在EasyMock教程中,我们将其与JUnit 5一起使用。
在本教程中,我们将学习如何将EasyMock与TestNG测试框架集成。

EasyMock TestNG示例

我们将从前面的教程中构建EasyMock TestNG示例。
首先,我们必须将TestNG依赖项添加到已经存在的EasyMock示例项目中。

<dependency>
	<groupId>org.testng</groupId>
	<artifactId>testng</artifactId>
	<version>${testng.version}</version>
	<scope>test</scope>
</dependency>

这是一个简单的示例,其中我在模拟ArrayList并存根其行为。
然后,我使用TestNG断言编写一些测试用例。

package com.theitroad.easymock;

import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.mock;
import static org.easymock.EasyMock.replay;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;

import java.util.ArrayList;

import org.testng.annotations.Test;

public class EasyMockMethodTestNGExample {

	@Test
	public void test() {
		ArrayList<Integer> mockList = mock(ArrayList.class);
		expect(mockList.add(10)).andReturn(true);
		expect(mockList.add(20)).andReturn(true);
		expect(mockList.size()).andReturn(2);
		expect(mockList.get(0)).andReturn(10);
		replay(mockList);

		mockList.add(10);
		mockList.add(20);

		assertTrue(mockList.get(0) == 10);
		assertEquals(mockList.size(), 2);
	}
}

EasyMock TestNG注释示例

让我们看另一个示例,其中我将EasyMock注释与TestNG注释一起使用。

package com.theitroad.easymock;

import static org.easymock.EasyMock.*;
import static org.testng.Assert.assertEquals;

import org.easymock.EasyMockSupport;
import org.easymock.Mock;
import org.easymock.TestSubject;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import com.theitroad.utils.Calculator;
import com.theitroad.utils.MathUtils;

public class EasyMockAnnotationTestNGExample {

	@Mock
	private Calculator mockCalculator;

	@TestSubject
	private MathUtils mathUtils = new MathUtils(mockCalculator);

	@BeforeMethod
	public void setup() {
		EasyMockSupport.injectMocks(this);
	}

	@Test
	public void test() {
		expect(mockCalculator.add(1, 1)).andReturn(2);
		expect(mockCalculator.multiply(10, 10)).andReturn(100);
		replay(mockCalculator);

		assertEquals(mathUtils.add(1, 1), 2);
		assertEquals(mathUtils.multiply(10, 10), 100);
	}
}