在休息控制器中,确保multipart为null

时间:2017-11-07 16:56:21

标签: rest spring-mvc kotlin rest-assured

我正在建立休息控制器的休息测试。 放心测试:

/*I chose the color scheme of orange, blue, grey, and white as I 
 obtained those colors from the Battlefield 3 game cover. I chose
 orange as the headers, blue as links visited and grey as the 
 backgrounds with white and black being the text color.*/
body { margin:0;
       background-color: #000; }
 #container { background-color: #444;
         color: #fff;
         min-width: 960px;
         font-family: Verdana, Arial, sans-serif;
         width:80%;
         margin-left:auto;
         margin-right:auto; 
         }
 #header {border-bottom: 2px solid #000000;
    height: 120px;
    background-image: url(images/banner2.jpg);
    background-position: bottom; 
    background-repeat:no-repeat;
    padding: 0 20px; }
 #nav { float: left;
   width: 150px;}
 #newtab {float:left;
      width:101px;

      }
 #sidebar{ float: right;
        clear:right;
      width: 210px;  
      background-image: url(images/background.png);
      background-position:bottom;
      background-repeat:repeat;}
 #sidebar a{ text-decoration:none;}
 #sidebar a:link { color:#F63;}
 #sidebar a:visited { color:#F03;}
 #sidebar a:focus, #sidebar a:hover { color:#FF0;}
 #sidebar a:active { color:#039;}
 #center { margin: 0 210px 0 160px;
      padding: 1px 10px 20px 10px;
      background-color: #CCC;
      color: #000; }
 #footer { font-size: .70em;
      text-align: center;
      color: #f63;
      background-color: #CCC;
      padding-top: 10px; 
      clear: both;}
     #footer a:link { color:#F63;}
     #footer a:visited { color: #039; }
      #footer a:focus, #footer a:hover { color: #FF0; }
      #footer a:active {  color: #F03;} 

 h1 { margin-top: 0; 
 font-size: 3em; 
 text-align: left;
 text-shadow: 2px 2px 2px #000000;}
 #nav ul { font-family: "BankGothic Md BT", arial, sans-serif;
      margin-top: 20px;
      list-style-type: none; 
    }
  #nav a { text-decoration: none; 
     font-size: 1.2em;
        border:1px solid #000;
           padding:20px;
           width:70px;
        display:block;
        background-color:#CCC;
        margin-right:30px;
        margin-left:-20px;
      }
 #nav a:link { color:#F63;}
 #nav a:visited { color: #F03; }
 #nav a:focus, #nav a:hover { color: #F63;
                        background-color:blue; }
 #nav a:active {  color: #093;}

 #center p { margin: 20px; } 
 #center h2, #center h3 { font-family: "Imprint MT Shadow", Arial, 
 sans-serif;
                     color: #f63;
                     background-color: #CCC; }
 #floatright { margin: 10px;
          float: right; } 
 #sidebar h3 { padding-bottom: 2px;
          margin: 10px;
          font-size: .90em;
          color: #039;
          background-color: #CCC; 
          text-align:center;}
 .events { font-size: .80em;
         margin: 10px; }
 #gallery {position:relative;}
 #gallery ul {width:300px;
         list-style-type:none;}
 #gallery li {display:inline;
         float:left;
         padding:10px;}
 #gallery img {border-style:none;
          float:none;}
 #gallery a {text-decoration:none;
        color:#F63;
        font-style:italic;}
 #gallery span {display:none;}
 #gallery a:hover span {display:block;
                   position:absolute;
                   top:10px;
                   left:340px;
                   text-align:center;}
 #movie {text-align:center;}
 table {width:75%;
       margin:auto;
       border-collapse:collapse;
       border:outset 1px yellow;
       color:#000;}
 Caption {font-size:1.5em;
     font-weight:bold;
     color:#f63;}
th,td {border: 2px solid #039;}
thead {Background-color:#f63;
       color:#fff;}
tbody td {vertical-align:top;
          padding-left:5px;
          padding-top:5px;}
tbody tr {background-color:#999;}
#title {text-align:center;}

休息控制器方法:

@Test
    fun saveFileReturnsFileKeyAndStatusCreated() {
        given()
                .multiPart("file", File("d:/2.txt"))
                .multiPart("fileDescription", "...file description here...")
                .multiPart("fileExtension", ".txt")
                .`when`()
                .post("/file")
                .then()
                .statusCode(HttpStatus.CREATED.value())
                .body(notNullValue<String>(String::class.java))
}

真正的代码工作正常,但是当我开始测试时,请求中的所有部分都为空。 在休息控制器的HttpServletRequest中没有收到rest-sure的多部分可能是什么原因?

Spring Boot 1.5.8,放心3.0.5

1 个答案:

答案 0 :(得分:0)

文件为空的原因,因为在测试配置类中,MultipartFileResolver需要使用@bean。

类似这样的东西:

@Bean public MultipartResolver multipartResolver() { return new CommonsMultipartResolver(); }