2016-09-19 203 views
4

目前,我們已通過使用CMakes設置我們的測試了上特拉維斯詞集成CTEST,剛剛檢查,如果int main()回報別的東西比0運行測試,而測試框架

我們現在想將測試功能添加到我們在Appveyor中的自動化Windows構建中,同時仍保持這種簡單的返回值檢查。

迄今爲止我們發現的Appveyors測試的每一個資源都假設我們正在使用某種類似MSTest的測試框架,我們不打算這麼做。

我發現你可以在Appveyor上運行自定義的CMD和Powershell測試腳本,這聽起來像是檢查我們測試返回值的理想方法。
不幸的是,我們都很缺乏使用CMD和Powershell的經驗,並且不知道如何實現這一點。

作爲參考,這是有問題的項目:JNF_NEAT

回答

0

我們建立.appveyor.yml這樣的:

test_script: 
    - C:\projects\jnf-neat\x64\Release\XORSolver.exe 
    - C:\projects\jnf-neat\x64\Release\EvenNumbers.exe 

其中XORSolver.exeEvenNumbers.exe是我們已經習慣了在CMake的運行我們的集成測試。

1

您可以使用cmake並製作的Windows了。 Cmake默認安裝在build worker VM上,make應該在build之前添加。

install: 
# Install make for Windows unsing chocolatey 
    - ps: choco install make 

build_script: 
# Use the same commands which is used in .travis.yml 
    - cmake -DCMAKE_CXX_COMPILER=g++-6 CMakeLists.txt 

# make fails here now 
    - make 
    - make test 

# Start RDP access to connect and debug 
on_finish: 
    - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) 

的CMake似乎工作,而化妝失敗:這裏時,試圖使其工作時appveyor.yml我創建。我對這些工具不是很熟悉,但我相信你可以從這裏開始調整它。我還添加了聲明來創建RDP會話,以便您能夠從構建工作人員進行連接和調試。

謝謝,

伊利亞。