cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Animesh Chaturvedi <animesh.chaturv...@citrix.com>
Subject RE: [DISCUSS]How to write API Unit Tests
Date Tue, 27 Nov 2012 23:43:33 GMT
Min

I have few comments in-line. 

-----Original Message-----
From: Min Chen [mailto:min.chen@citrix.com] 
Sent: Tuesday, November 27, 2012 3:10 PM
To: cloudstack-dev@incubator.apache.org
Subject: [DISCUSS]How to write API Unit Tests

Hi there,

	In working with API refactoring work, I cannot help wondering how we should write Junit test
cases for our APIs. Recently I saw that Chip has merged some of his API unit test cases into
master branch, and his api unit test cases are written using Mockito, so no DB and real MS
are needed in running these Junit test cases. Here I want to raise this topic again to get
some clarifications on api unit test guidelines:
	1. Should we require API unit test cases to be able to run without DB existing or MS running?
Animesh> Unit tests are meant to be run quickly and test only small portion of software
independent of other things. In my opinion unit tests should not talk to database, communicate
across network, require special environment changes like editing config files etc.
	2. If answer is yes, then I guess that we just need to use Mockito to write our api unit
test cases.
Animesh> Yes using mock objects should be the way to go. Here is a classic paper  on  Unit
testing with Mock Objects http://www.betgenius.com/mockobjects.pdf . 

	3. If answer is no, there are several follow-up questions to be clarified:
	   1) Does test case itself need to handle starting MS and stopping MS?
	   2) How should we set up a test DB? This may be needed for those list APIs.
	   3) Testcases need to handle tear down test data afterwards.

	Thanks
	-min


Mime
View raw message