2014-01-22 206 views

回答

3

轉到「疥方案」,並選擇方案,然後展開「測試」,然後選擇「預動作」,並增加了新的運行腳本:

enter image description here

選擇「提供編譯器的設置:」 enter image description here

我認爲你正在尋找的變量是${SRCROOT}

+0

答案與圖片讓我快樂! – Groot

+0

你知道我可以如何訪問ruby腳本嗎?它目前位於proyect_root/Tests/server.rb下。有沒有指向根的環境變量? 謝謝 – bilby91

+1

我添加了另一張照片讓@Filip更加快樂! – Sebastian

2

除了@Sebastian答案,確保在ruby命令後添加&,因爲沒有它,sinatra將阻止您的測試執行。

此外,在需要殺死ruby進程的情況下關注後續操作也很有用。 以下示例使用bundler和rackup啓動sinatra。

例預動作腳本:

exec > /tmp/tests-pre-actions.log 2>&1 
source ~/.bash_profile 

SERVER_PATH="${PROJECT_DIR}"/"Server" 
cd "$SERVER_PATH" 
bundle exec rackup > /tmp/server.log 2>&1 & 

#get the PID of the process 
PID=$! 

#save PID to file 
echo $PID > /tmp/sinatra.pid 

的動作後腳本示例:

exec > /tmp/tests-pre-actions.log 2>&1 
source ~/.bash_profile 

PID=$(</tmp/sinatra.pid) 
echo "Sinatra server pid $PID" 
kill -9 $PID 

config.ru爲rackup寶石:

require './server' 
trap('TERM') {Process.kill 'INT', Process.pid} 
puts 'Run sinatra' 
run Sinatra::Application 
相關問題