, classes in Java.util).
For a mock Parameter,jmockit declared in a test method, an instance is automatically created for it and passed in by Junit/testngtest runner when the test method is invoked. So the parameter will never be null.
For a mock field,jmockit, an instance is not automatically created and passed to the field (except final field). In this scenario, (except finalfiled). This is the creation t
Introduction to jmockit
In the jmockit toolkit, expectations verifications APIs provides abundant support for the creation of behavior-based unit tests. This test focuses on the interaction between the test unit and other associated test units. The test unit includes class, method, and constructor.
The interaction between two units is usually a call between method or constructor.
A unit test usually only
Reprint Address: http://www.techv5.com/topic/696/
The following is a brief introduction to spring's unit testing using the Java Mock tool Jmockit, which is characterized by the need not to specify a spring configuration file, any object can be mock out and associated. Controller
Import Com.odde.mail.model.Result;
Import Com.odde.mail.service.MailService;
Import Org.apache.commons.logging.Log;
Import Org.apache.commons.logging.LogFactory;
Import Org.c
Jmockit is a mock framework for Java unit tests above Google code.
Introduction to the elements involved in Jmockit: @Tested and @injectableThe @tested object is judged to be null and is initialized by the appropriate constructor, and an instance of @Injectable is automatically injected into the @tested.@Mocked@Mocked decorated instance, will mock all the behavior of all instances of the class for each i
The spring business system generally uses a single case. Multilayer calls.For example a call to B,b calls C.To test the method of a, you need to boast a multilayer mock C method.Using Jmockit's Nonstrictexpectations@Servicepublic class A { @Autowired b b; public void Method () { b.method (); }}@Servicepublic class B { @Autowired IC C; public void Method () { System.out.println ("b=" + C.method ());} }@Servicepublic class C implements IC { @Override public
(Mockinstance.getcityname ()); System.out.println (Mockinstance.getareaname ()); System.out.println (Simpleinterface.getcityname ()); System.out.println (Simpleinterface.getareaname ()); Simpleinterfaceimpl Simpleinterfaceimpl =NewSimpleinterfaceimpl (); System.out.println (Simpleinterfaceimpl.getcityname ()); System.out.println (Simpleinterfaceimpl.getareaname ());}Output:
Beijing (MOCK)Huabei (MOCK)NullNullDefault CityDefault Area
Further research is needed on how an
Jmockit Introduction
In the Jmockit Toolkit, the expectations verifications APIs provide rich support for the creation of behavior-based unit tests. The focus of this test is on the interaction between the test unit and other associated test units. Test modules include Class,method and constructor.
The interaction between two cells usually manifests itself as a call between method or constructor.
A unit te
The main principle of the Jmockit test is to test the method by invoking different return values from other layered methods in the mock (virtual) test method. Use this mock method to test a hierarchy in a program individually
1, pom file introduced Jmockit package
2. Adding Jmockit Annotations to the head of the test class
@Runwith (jmockit.class) Public
class
of mock, lest many classmates unfamiliar, mock is to create a false, simulated object. In the test environment, it is used to replace the real object. This can be achieved for two purposes:
You can specify at any time what value a method of a mock object returns, or what action to perform.
You can verify that a method of a mock object has not been called, or how many times it was called, what the parameter is, and so on.
To use a mock, you typically use a mock frame, which cur
Turn from:
http://billben.iteye.com/blog/1872196
http://harrywu304.blog.163.com/blog/static/8456603201141611147777/
Available Mock toolkit There are many, more common there are easymock, Jmock and Jmockit, and so on, in the end to choose which, jmockit the official network has a feature comparison list, very detailed:
Feature
EasyMock
Jmock
Mockito
Unitils Mock
Powermock:Easy
developers write test programs based entirely on the Java 5 SE java.lang.instrument package, using the ASM library internally to modify Java bytecode.Jmockit functions and Powermock are similar, some features are even more powerful, but the individual feels that their code is not readable.Jmockit can be downloaded from https://code.google.com/p/jmockit/, using MAVEN to add the following dependencies:Jmockit can also be classified as nonlocal simulati
. Serializable
What is serialization and why serialization
Serialization vs. Singleton mode
Google serialization Protobuf
1.2.9. Virtual reference, weak reference, soft reference
java.lang.ref.*
Experiment with the recycling of these references
1.2.10. Familiarity with Java System Properties
Java.util.Properties
1.2.11. Familiarity with annotation usage
java.lang.annotation.*
1.2.12. JMS
javax.jms.*
1.2.13. JMX
recycling of these references
1.2.10. Familiar with Java System attributes
java.util.Properties
1.2.11. Familiar with Annotation usage
java.lang.annotation.*
1.2.12. JMS
javax.jms.*
1.2.13. JMX
java.lang.management.* javax.management.*
1.2.14. Generic and inheritance, generic and erasure 1.2.15. Automatic binning and bytecode 1.2.16. Callback1.2.17. java. lang. Void class using 1.2.18. Java Agent, premain Function
java.lang.instrument
1.2.19. Unit Test
Http://junit.org, Junit/
- username:bar21:37:50.801 [DESTROYJAVAVM] INFO N.d.javaagent.myclassfiletransformer-class file transformer invoked for classname:java/lang/shutdown21:37:50.801 [DESTROYJAVAVM] INFO n.d.javaagent.myclassfiletransformer-class file Transformer invoked for Classname:java/lang/shutdown$Lock Above, the javaagent lifecycle is clearly visible. The Premain (and not the Agentmain) method is invoked first. The class file transformer is passed classes as they is loaded. The transformer chooses to redefine
When doing unit test, may use Mockito to test, but Mockito also have insufficient, cannot mock static, final, private method and so on. And Powermock can make up for Mockito's deficiency perfectly.Powermock uses a custom class loader and bytecode manipulation to simulate static methods, constructors, final classes and methods, private methods, removal of static initializers, and so on. By using a custom classloader, simplifying the adoption of the IDE or continuous integration Server does not re
, actually feel also not what meaning, haha, but at that time looked at the feeling is very magicalThat is to say, we write the execution statement in the place of the code block, because he is not in the method.HowWhere is the most common place for anonymous classes?Here to steal a lazy, give a few examplesRecently seen the Jmockit newExpectations(){{ try { departmentService.hasStudent(finalS); result =
: Designed for easy-to-use, maintainable, and high-performance load testing tools. Website
Hamcrest: A match that can be used to flexibly create an intent (intent) expression. Website
Jmockit: Used to simulate static, final methods, and so on. Website
JUnit: Generic test framework. Website
Mockito: Create test objects in automated unit tests to provide support for TDD or BDD. Website
Powermock: Supports simulating static methods, c
stub, God!Sometimes it is useful for a spy application to do something, or a validator to invoke a specific method with a specific parameter and invoke a specified number of times. Sometimes we want to trigger the database layer, but we want to simulate the response that the database returns to us. With the help of spies, mocks, and stubs, we can implement all of these features.In Java, we have many different libraries that can be used for spies, mocks, and stubs, such as Mockito, Easymock, and
function pointer, for example, using the shared memory to implement port communication APIs. In this way, you can change the communication mode without modifying the existing program to increase the communication speed. For details, refer to the popular open source implementation OpenOnload.
Although it mainly replaces the TCP/IP protocol stack, the idea is the same.
In fact, this time is the best embodiment of Java and other virtual machine-based bytecode language advantages. If you use Java,
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.