2014-10-07 12 views
5

REST çağrılarına yanıt veren bir denetleyicim var, diğer genel yöntemlerim için çeşitli test durumlarım var.Denetleyici dinlenme servisi için Spring Junit test durumu

benim denetleyicisi için bir tane yazmak için nasıl bilmiyorum:

@RequestMapping(value = "/api/frames", method = RequestMethod.GET) 
public List<Frame> getFrames(
    @RequestParam(value="frameLength", required=true) Double frameLength, 
    @RequestParam(value="frameBreadth", required=true) Double frameBreadth, 
    @RequestParam(value="mountThickness", required=true) Double mountThickness, 
    @RequestParam(value="frameThickness", required=true) Double frameThickness){ 
    List<Frame> tempFrames = new ArrayList<>(); 
    List<FrameVariant> frameVariants = frameVariantService.getFrames(
     frameLength, frameBreadth, mountThickness, frameThickness); 
    for (FrameVariant frameVariant : frameVariants) { 
     tempFrames.add(new Frame(frameVariant)); 
    } 
    return tempFrames; 
    } 

nasıl bu kontrolör yöntemi için bir test durumu yazmak için hiçbir ipucu var.

+0

Dürüst olmak gerekirse, ünite testini * sanmıyorum * bu yöntem çok değer. Gerçekten kontrol edebileceğiniz tek şey, parametreleri "getFrames" işlevine doğru şekilde iletmesi ve her bir "FrameVariant" öğesini "Frame" olarak dönüştürmesidir. Hem bu fonksiyon hem de dönüşüm kurucusu herhangi bir şekilde test edilmelidir. Bu işlevsellik, uçtan uca test olarak test edilmeli, yani bu servisi (ve bir 'test veri seti') konuşlandırılmalı ve gerçek bir HTTP talebi oluşturulmalıdır. – thecoshman

cevap

8

MockMvc'a bakın. Spring Test modülünün bir parçası. Spring MVC denetleyicilerinin nasıl test edileceği konusunda hemen fikir edinebilmeniz için oldukça açıklayıcı ve ayrıntılara giriyorsunuz. MockMvc ile REST denetleyicilerinin sınanması için iyi bir giriş sağlayan

+0

@luboskmac, test dinlenme için sahte mvc kullanmak tamam mı? –

+0

Neden olmasın bazı itirazlarınız var mı? Benim açımdan, ekibin onlar için en etkili testin ne olduğuna karar vermesi gerekiyor. http://stackoverflow.com/a/153565/1919879 – luboskrnac