說說我是怎么在Eclipse下導入gradle項目的边篮,編寫一個新的helloworld測試用例

前言

  • 最近在跟著一個springboot的開發(fā)教程在學。但是他不是用的主流的maven工程建的項目笤休,而是用的gradle尖飞。因為沒有用過gradle,所以為了按照他講的內容來系統(tǒng)學一下店雅,只能把gradle學一學了政基。在他課程里,跳躍的也很快的闹啦,在利用Eclipse插件編寫gradle項目的時候沮明,他是直接已經打開了項目了,卻沒有介紹窍奋,是如何把項目導入進去的荐健。一臉懵逼,只能自己去網(wǎng)上先學下Eclipse是如何把項目導入進去的琳袄。
  • 網(wǎng)上也有很多教程江场,也參照的一下 ,下面是我如何導入成功的一個過程記錄窖逗。一方面自己以后回頭查看址否。

軟件插件版本

  • eclipse : Oxygen.3a Release (4.7.3a)
  • gradle:4.9
  • jdk :1.8.0_151

Eclipse可以導入項目的前提

  • 安裝有gradle的插件
  • gradle插件 需要配置本地的gradle安裝路徑
  • 是gradle的工程項目

導入gradle項目的步驟

  • 安裝gradle插件 (自帶了有可以忽視此步)
    • 這里用的是Eclipse在線安裝。跟Eclipse安裝其他的插件一樣碎紊,
      首先是在help->enterMartketplace->在搜索框中輸入gradle->go即可


      image.png

      然后在eclipse中配置本地的gradle
      步驟:eclipse中的window中的Preference佑附,找到Gradle樊诺,然后如下如配置本地gradle的安裝路徑,點擊apply


      image.png
  • gradle工程項目
    • 1.接著上一篇文章的項目intiallizr-start所在的文件夾:D:\gradle-work的路徑下
      再新建一個hello-world文件夾音同。
      然后再把intiallizr-start文件下的先關文件拷貝過去词爬,如下如所示
      image.png
    • 2.接著修改hello-world下的文件build.gradle和setting.gradle
      build.gradle是只修改一處:修改jar的版本號。目的是為了方便java編譯運行的時候輸入方便瘟斜,不用寫這么長


      image.png

修改setting.gradle 文件:目的是為了更改項目名稱為對應的名字缸夹,這里是更改為hello-world


image.png
  • 3.上面的文件更改完成后,下面就是通過命令窗口輸入命令行進行build和編譯運行螺句。首先是在hello-world目錄下打開cmd命令窗口
    然后輸入 gradle build。點擊確定進行項目構建橡类。然后在輸入
    java -jar build/libs/hello-world-1.0.0.jar對項目進行編譯運行蛇尚,就能夠看到springboot的圖標和Tomcat的8080端口。那么到此步顾画,eclipse的導入需要的gradle項目完成
  • 最后一步是利用eclipse導入gradle項目
    點擊file下的import取劫,然后選擇Existing Gradle Project


    image.png

    然后下一步next,next研侣,填寫剛才創(chuàng)建的gradle項目谱邪,如下圖


    image.png

    然后點擊finish即可自動完成該項目所需要的jar包和導入gradle項目了
    如下圖:
    image.png
  • 下面是導入gradle的項目結構,如下圖庶诡,這里我把原來的包名和啟動類名稱改了一下


    image.png

然后再新建一個controller包惦银,再該包下新建一個HelloWorldController類
如下

package com.waylau.spring.boot.blog.controller;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

/**   
 * perform:執(zhí)行一個RequestBuilder請求,會自動執(zhí)行SpringMVC的流程并映射到   
 * 相應的控制器執(zhí)行處理末誓;
 * andExpect:添加ResultMatcher驗證規(guī)則扯俱,驗證控制器執(zhí)行完成后結果是否正確;
 * @author: crj
 * @date: 2018年8月20日 下午4:35:55 
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc //為了注入MockMvc
public class HelloWorldControllerTest {
    @Autowired
    private MockMvc mockMvc;//這里是利用MockMvc這個來測試
    @Test
    public void testHello() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(org.springframework.http.MediaType.APPLICATION_JSON))
        .andExpect(status().isOk())
        .andExpect(content().string(equalTo("hello world!")));
    }

}

在這里在惡補一下MockMvc的知識
文章鏈接

隨著RESTful Web Service的流行喇澡,測試對外的Service是否滿足期望也變的必要的迅栅。從Spring 3.2開始Spring了Spring Web測試框架,Spring MVC測試框架提供了對服務器端和客戶端(基于RestTemplate的客戶端)提供了支持晴玖。

對于服務器端:在Spring 3.2之前读存,我們測試時一般都是直接new控制器,注入依賴呕屎,然后判斷返回值让簿。

package com.gtyyx.dao;

import static org.junit.Assert.assertEquals;

import java.util.UUID;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.gtyyx.model.UserLogin;

/**   
 * @author: crj
 * @date: 2018年8月16日 上午10:00:15 
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserLoginMapperTest {
    @Autowired
    private UserLoginMapper userLoginmapper;
     @Test
     public void test1() throws Exception {
         UserLogin user = new UserLogin();
         user.setTusername("wsl1");
         user.setTuserordrowid(UUID.randomUUID().toString());
         user.setTuserpassword("123456");
         int effectedNum = userLoginmapper.insert(user);
            assertEquals(1,effectedNum);
         
     }
    

}

但是我們無法連同Spring MVC的基礎設施(如DispatcherServlet調度、類型轉換榨惰、數(shù)據(jù)綁定拜英、攔截器等)一起測試,另外也沒有現(xiàn)成的方法測試如最終渲染的視圖(@ResponseBody生成的JSON/XML琅催、JSP居凶、Velocity等)內容是否正確虫给。從Spring 3.2開始這些事情都可以完成了。而且可以測試完整的Spring MVC流程侠碧,即從URL請求到控制器處理抹估,再到視圖渲染都可以測試。下面是上面HelloWorldController的測試用例

package com.waylau.spring.boot.blog.controller;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

/**   
 * @author: crj
 * @date: 2018年8月20日 下午4:35:55 
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class HelloWorldControllerTest {
    @Autowired
    private MockMvc mockMvc;
    @Test
    public void testHello() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(org.springframework.http.MediaType.APPLICATION_JSON))
        .andExpect(status().isOk())
        .andExpect(content().string(equalTo("hello world!")));
    }

}

運行hello-worldd的方式

  • java -jar build/libs/hello-world-1.0.0.jar
  • gradle bootRun
  • gradlew bootRun
  • eclipse 下運行Application.java主文件

以上上面的記錄都是根據(jù)學習老衛(wèi)的springboot視頻教程的所做的弄兜,僅當學習所用药蜻。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市替饿,隨后出現(xiàn)的幾起案子语泽,更是在濱河造成了極大的恐慌,老刑警劉巖视卢,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踱卵,死亡現(xiàn)場離奇詭異,居然都是意外死亡据过,警方通過查閱死者的電腦和手機惋砂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绳锅,“玉大人西饵,你說我怎么就攤上這事×圮剑” “怎么了眷柔?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長积蜻。 經常有香客問我闯割,道長,這世上最難降的妖魔是什么竿拆? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任宙拉,我火速辦了婚禮,結果婚禮上丙笋,老公的妹妹穿的比我還像新娘谢澈。我一直安慰自己,他們只是感情好御板,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布锥忿。 她就那樣靜靜地躺著,像睡著了一般怠肋。 火紅的嫁衣襯著肌膚如雪敬鬓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音钉答,去河邊找鬼础芍。 笑死,一個胖子當著我的面吹牛数尿,可吹牛的內容都是我干的仑性。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼右蹦,長吁一口氣:“原來是場噩夢啊……” “哼诊杆!你這毒婦竟也來了?” 一聲冷哼從身側響起何陆,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤晨汹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后甲献,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宰缤,經...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年晃洒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朦乏。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡球及,死狀恐怖,靈堂內的尸體忽然破棺而出呻疹,到底是詐尸還是另有隱情吃引,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布刽锤,位于F島的核電站镊尺,受9級特大地震影響,放射性物質發(fā)生泄漏并思。R本人自食惡果不足惜庐氮,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望宋彼。 院中可真熱鬧弄砍,春花似錦、人聲如沸输涕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莱坎。三九已至衣式,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碴卧。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工弱卡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人螟深。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓谐宙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親界弧。 傳聞我的和親對象是個殘疾皇子凡蜻,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)垢箕,斷路器划栓,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,811評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,135評論 25 707
  • “公子,老爺在祠堂等你呢条获≈臆瘢” “好,知道了帅掘∥海” 李濤卸了披風,交到了李儒的手上修档,便大步朝著祠堂走去碧绞。快走到門口時吱窝,...
    小小悶騷閱讀 489評論 0 1
  • 儼,我害怕,害怕死亡立由,害怕一切都消失沛豌,害怕沒有思想舌仍,害怕沒有意識铃拇,好害怕,你在哪里实抡,我的你在哪里欠母。。吆寨。赏淌。你不屬于我...
    寫給我的她閱讀 223評論 0 0