How to configure and run a Mockito test - java

I am working on an Android app which has some pure java based components that i want to test using Mockito.
I have some questions about configuring Mockito with my code base.
Should I create a test project in my code base?
Does Mockito has anything to do with JUnit? Do i need to include JUnit libs as well?
How do i run the Mockito test from Eclispe as opposed to JUnit test which is far more easier to run by doing Run As-> JUnit Test.
Kindly suggest some tutorial that could demo the setup and running of tests.

You don't need to create a separate test project, but you can if you want to. Most people do it by creating a separate test folder in the same project. Whether you have a separate test project or just a test folder, you should replicate your package structure inside your test folder, so that each test class is testing an application class in the same package.
Yes. Mockito is designed to be used with JUnit, or with some other testing framework, such as TestNG. Most people use it with JUnit. Most of the examples on the Mockito web site use JUnit. So, yes, you'll need the JUnit libraries, or the libraries for whatever other testing framework you choose.
A Mockito test is a JUnit test (or a TestNG test, or whatever). So there's no "far more easier to run", as you put it. Just write a JUnit test that uses Mockito, and run it in the same way as any other JUnit test.
Start with the Mockito web site and Mockito repository.

Related

How can i define a JUnit test in one maven project and have it run in another maven project?

I want to create some architecture validation components, that will be later used in architecture description components.
My first idea is to create validations as JUnit test, and then declare test suites using those tests (ideally I would not even have to declare those test and have some kind of dependency injection to have all the tests in the test suite).
How can I do that using JUnit and Java CDI ?

JUnit implementation of QAF

Good afternoon.
Is it possible to implement the work of QAF with JUnit?
For example, i want to use qaf-gherkin in my project, but it's build on JUnit + Cucumber.
As I see, there is a similar question, but there is no description about project and on which test framework it was based.
QAF built upon TestNG. If you are using Junit for Java you can run using TestNG by setting junit="true" in configuration file. However for migrating cucumber to QAF it should not impact current runner is either Junit or TestNG until you are using any specific features of Junit. All you need to start using QAF following documentation. You don't need to write or use additional java class to run your tests because it is taken care by QAF. All you need to do is create xml configuration file for to run your BDD
Because QAF provides all testing needs together you don't need to relay on multiple frameworks (junit and cucumber in your case).

How to document the failing JUnit tests

I have developed an Automation framework with JUnit for our API Testing. Here I have created a separate class for each API listing multiple unit tests for that API.
I want to list each failing JUnit test case in some separate file so that I can easily track the failing test cases. Can anyone suggest how can I do it?
Thank you all for your suggestions. I replaced the JUnit with TestNG, Integrated the Surefire plug-in and Jenkins CI as well, and my framework is working the same that I intended in the beginning.

Can we write functional tests using junit?

I understand Junit is intended for unit testing. Can we write functional tests using junit as well? Like we write Integration tests using junit.
If functional tests are not going to be read by a non-tech user (aka customer) then it looks like a overkill to use tools such as Cucumber, Fitnesse etc. Given that I have a good knowledge of Junits - i want to reuse the same?
Also I notice it is possible to write functional tests using TestNG - Is it a good idea if junit is not suitable.
you can write any sort of test using junit. for example have a look at arquillian, which can boot a whole j2ee container from junit for testing, or fest, which enables swing UI testing from within junit, or use a selenium junit4 runner to test web applications from junit (combine with arquillian to boot the web application 1st :-) )

Migrating from Junit to TestNG

I need to migrate a bunch of test scripts from Junit to TestNG , So is there any utility or a runner does TestNG provides to run Junit test scripts ? also I am currently using Maven .
If possible Can someone share the snippet on how to do it .
I understand that it is a very old post, but I hope this would be useful if anyone is looking to migrate to TestNG.
I have a spring application and my JUnit tests uses different runners and tags like
- SpringJUnit4ClassRunner
- PowerMockRunner
- EasyMockRunner
- #ContextConfiguration.
Junit works with #RunWith tag where as TestNG requires extending classes AbstractTestNGSpringContextTests(for #ContextConfiguration), PowerMockTestCase(for PowerMockRunner), ..etc. Though there were multiple options provided(extending, configuration, other annotations) in some cases, some of the options didn't work and extending only worked. If the test class requires extending it may not work for some tests as the test might be already extending another base class and you need to refactor the tests and it may not be worth.
My 2 cents is that JUnit5 has some of the missing Junit4 features of TestNG and see if that solves the problem before jumping to migrating to TestNG.
The official document for Migrating from Juit to TestNG can be found here. Please take a look.

Categories