spec/test_task_spec.rb in xctasks-0.5.0 vs spec/test_task_spec.rb in xctasks-0.6.0
- old
+ new
@@ -348,10 +348,11 @@
s.destination('platform=iOS Simulator,OS=7.1,name=iPhone Retina (4-inch)')
s.destination platform: :ios, id: '437750527b43cff55a46f42ae86dbf870c7591b1'
end
end
end
+
describe 'spec:unit' do
subject { Rake.application['spec:unit'] }
it "executes the appropriate commands" do
@@ -375,9 +376,45 @@
"/usr/bin/xcodebuild -workspace LayerKit.xcworkspace -scheme 'Functional Tests' -sdk iphonesimulator -destination platform='iOS Simulator',name='iPad Retina',OS='latest' -destination platform\\=iOS\\ Simulator,OS\\=7.1,name\\=iPhone\\ Retina\\ \\(4-inch\\) -destination platform='iOS',id='437750527b43cff55a46f42ae86dbf870c7591b1' clean build test 2> stderr.log"]
end
end
end
+ describe 'Global destination configuration applies to multiple subtasks' do
+ let!(:task) do
+ XCTasks::TestTask.new(:spec) do |t|
+ t.workspace = 'LayerKit.xcworkspace'
+ t.runner = :xctool
+ t.subtasks = {unit: 'Unit Tests', functional: 'Functional Tests'}
+ t.destination do |d|
+ d.platform = :iossimulator
+ d.name = 'iPhone 6 Plus'
+ d.os = :latest
+ end
+ end
+ end
+
+ describe 'spec:unit' do
+ it "configures the destination for each subtask" do
+ task.subtasks do |t|
+ t.destination.platform.should == :iossimulator
+ t.destination.name.should == 'iPhone 6 Plus'
+ t.destination.os.should == :latest
+ end
+ end
+ end
+
+ describe 'spec:unit' do
+ subject { Rake.application['spec:unit'] }
+ it "configures the appropriate destination commands" do
+ subject.invoke
+ @commands.should == [
+ "killall \"iPhone Simulator\"",
+ "/usr/local/bin/xctool -workspace LayerKit.xcworkspace -scheme 'Unit Tests' -sdk iphonesimulator -destination platform='iOS Simulator',name='iPhone 6 Plus',OS='latest' clean build test"
+ ]
+ end
+ end
+ end
+
describe 'SDK Configuration' do
let!(:task) do
XCTasks::TestTask.new(:spec) do |t|
t.workspace = 'LayerKit.xcworkspace'
t.runner = :xctool