I'm a bit new with unittesting and everything about Mocks so I think I could use some help.
I need to write unit tests for this code:
@Service
public class TwitterService {
@Autowired(required=false)
private Twitter twitter;
private static final int RESULTSIZE = 5;
public List<TwitterDTO> getTweets(String tag)
{
String searchTag = "#" + tag;
SearchParameters param = new SearchParameters(searchTag);
param.count(RESULTSIZE);
param.resultType(ResultType.RECENT);
List<TwitterDTO> tweetList= new ArrayList<TwitterDTO>();
SearchResults results = twitter.searchOperations().search(param);
for(Tweet tweet: results.getTweets()) {
TwitterDTO twitterDTO = new TwitterDTO();
twitterDTO.setTweetId(tweet.getId());
twitterDTO.setName(tweet.getUser().getName());
twitterDTO.setUserNameTwitter(tweet.getFromUser());
twitterDTO.setCreatedDate(tweet.getCreatedAt());
twitterDTO.setMessage(tweet.getUnmodifiedText());
twitterDTO.setRetweetCount(tweet.getRetweetCount());
twitterDTO.setFavoriteCount(tweet.getFavoriteCount());
twitterDTO.setProfileImageUrl(tweet.getProfileImageUrl());
twitterDTO.setTwitterUrl("https://twitter.com/" + tweet.getFromUser() + "/status/" + tweet.getId());
tweetList.add(twitterDTO);
}
return tweetList;
}
public boolean isAvailable()
{
return this.twitter != null;
}
So far I have this as far as my testng knowledge goes:
@RunWith(MockitoJUnitRunner.class)
public class TestTwitterLogic {
@Mock
private Twitter twitter;
@InjectMocks
private TwitterRestController restController;
private MockMvc mockMVC;
@Before
public void setup()
{
MockitoAnnotations.initMocks(this);
mockMVC = MockMvcBuilders.standaloneSetup(restController).build();
}
@Test
public void testTwitterService()
{
List<TwitterDTO> dtos = service.getTweets("samsung");
assertNotEquals(0, dtos.size());
}
}
All advice or help is welcome, Thanks!
Aucun commentaire:
Enregistrer un commentaire