Sonar Pitest Plugin - maven-3

I want to integrate some mutation testing to ensure the quality of my junit tests. I want to have the results in the sonar dashboard of my project.
The sonar pitest plugin seems to do what I want, but there are some issues with maven 3 and it is still under development.
Has anyone ever tried this plugin ?
Are there others alternatives ?

I am fairly sure there are no other mutation testing plugins for sonar.
I've not actually tried the pit sonar plugin myself, but I understand the issue with maven 3 can be worked around
see
https://groups.google.com/forum/?fromgroups=#!topic/pitusers/bkDD13iBtHU
The PIT maven plugin itself is quite mature and is being used successfully in production. If you encounter issues with the sonar plugin you could just publish the maven reports from your CI server.
Please do feedback any issues you hit - I'm sure Alexandre will be kean to fix them.

Related

Alternatives for QC

In my project we are using QC to execute our test cases(QTP), moving forward we would be eliminating QC (for cost reasons).
As far as I explored MSBuild & Jenkins, they would be suitable.
But MSBuild will trigger the execution when a new build pushed to the repository. Also it will automatically test on the latest build.
Is there any other CI tool available to execute test cases through QTP?
I will be executing automation once in a release. Also we install our application by manual since it requires lots of configuration.
Take a look at HP Application Automation Tools.
This plugin basically replaces the need for QC, and is developed by HP.
Create a Jenkins job using this plugin on the same Jenkins installation used to build your code, then you can configure your job to run your tests as soon the code is available (e.g. on a nightly basis).
See here for a helpful guide on how to implement a simple Jenkins job using this plugin.
They also host the code on Github, which is very useful if you need to change the behavior of the plugin to suit your needs.

Does Jenkins support Xcode integration

Has anyone used Jenkins in Xcode for code management and automated deployment ? If yes, how can it be integrated ? How does automated deployment work with Jenkins ? Went through the documentation but didn't get much idea.
I went through the Jenkins plugins for iOS but not clear if we can publish the build to AppStore using any plugin.
We are using a Jenkins Server for Continuos Integration, by fetching the source from an SVN Server when the Jenkins is triggered by Commits to this repositories.
But, to be serious, i wouldn't recommend the jenkins... i'd rather use xcode server/bots to get rid of all the hassle with the jenkins...
fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles and releasing your application.
https://github.com/fastlane/fastlane
xctool is a replacement for Apple's xcodebuild that makes it easier to test iOS and Mac products. It's especially helpful for continuous integration.
https://github.com/facebook/xctool
The term "Jenkins in Xcode for code management" seems not fully correct. Because Jenkins server is for CI, in which we config it (create a job) that will fetch the source code from your repository (SVN, GIT), then compile it and run, probably execute your unit tests, UI automation tests or code coverage tool.
Based on your schedule, Jenkins server will automatically start its job or is triggered whenever there is a change in your repo (anybody commits the code for example).
The tool you mentioned which in Xcode is probably XCode Bots, the built-in CI tool.
In order to set up, firstly, you have to install and config XCode server. After that, connecting your server with your repositories. Secondly, creates a bot with your customize configuration and run it.
In my opinion in term of Jenkins and Xcode comparison, I would say that it depends on what tools or add-in functions that you want to set up for your CI server. Jenkins has many plugins might helpful like check style, measure code coverage while Xcode bot still having some limitation.
This document https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/ for your further reference.
I hope this would be helpful to you.
There is a gem called xcpretty, you can use it to output JUnit format test result, then use Jenkins JUnit Plugin to show the result.
Install xcpretty
gem install xcpretty
Use xcpretty to create junit format xml file
xcodebuild test ... | xcpretty --report junit --output [path_to_save]/unit_test_result.xml
Then this unit_test_result.xml can be used to report by Jenkins JUnit Plugin

Recommendations for a Continuum Integration, Delivery and Deployment solution

I am reading lots of articles here about the subject and try to find a nice set of tools to integrate and create a Complete CI environment.
Among those articles I particularly liked this one: Continuum as a Jenkins replacement?
I have installed here, but not yet configured because we are doing some testes with GIT and Jenkins. We have Nexus working fine.
Now I need to have some recommendations to cover the following topics:
Code Coverage - JaCoCo, Cobertura, Sonar?
Code Quality Analysis
PMD, Sonar? ANT, MAVEN, GRADLE?
Maybe I am mixing some concepts here regarding the use of some tools, like SonarQube, if that is the case I am sorry.
So, I am open to "hear" about this. Thanks
Ant, Maven and Gradle are build tools. You pick one that suites your team. Gradle/Maven may directly work with artifact repos. Ant will require help from Ivy.
Coverage: JaCoCo supports newer Java(7, 8).. Not so much luck with Cobertura
Sonar: If you can integrate your code with SonarQube that takes care of bit Code Quality Metrics (like Duplicate detection, Findbug , Security ..etc)
On Jenkins
You can integrate Jenkins with all of the above tools. You can create Jenkins jobs for practically everything and have tons of plugins to make even simpler. There are more plugins to make Jenkins' based CD easier: Build Flow and workflow plugin.

Why is the Grails-Gradle plugin necessary?

I am building my first Grails app and would like the build to be managed by Gradle. I see that there is a Grails-Gradle plugin and many online searches indicate that it is not possible to build a Grails app using Gradle without this plugin.
My question is: why? Why (specifically) is this plugin necessary in order for Gradle to be able to build a Grails app? What functionality does this plugin provide that is otherwise missing?
I don't know why you think it's impossible to build a Grails app without the plugin. It's possible to issue commands to the grails shell from Gradle without the plugin, but it's not very clean.
That's what this plugin does. It cleans up that process, and makes it much Groovier with a DSL. It also makes your Gradle script more portable to other projects and persons.
If you browse the source code you will see all the inner workings of the plugin and realize what it's setting up in your Gradle script. What it offers is a lot of access to Grails in a very standard and portable manner.

How to integrate PMD, Maven and Hudson?

I tries one scenario to integrate these tools, but it giving unbelievable output. What I did:
I did not configure or install PMD in Hudson.
I configured PMD in my parent pom.
I run goals (clean site) the in Hudson job, but it running only last sub project.
I check log in console, it has:
some svn update log
Parsing POMs
and directly generating reports for last sub project.
I have same svn checkout workspace in Eclipse, it working and generating reports for all parent and child projects. Actually, after verify in Eclipse only, I try to verify in Hudson.
And after try to configure PMD in Hudson, but I did not find any help online to do that.
We are using jenkins and maven, artifactory and sonar (which contains PMD, Checkstyle, Findbugs and others).
I didn't set it up however there are plugins for (nearly) everything:
Jenkins Artifactory Plugin
Jenkins Maven Plugin
Jenkins Sonar Plugin
But it is possible to do it your way and use PMD "directly". Hava a look here...

Resources