У меня есть этот файл спецификации, который пытается запустить скрипт, который будет запускать программу dotnet cli:
require 'spec_helper'
RSpec.describe 'Integration test', type: :aruba do
let(:command) { run "dotnet-test" }
it "test" do
command.write("test\n")
stop_all_commands
expect(command.output).to end_with("success\n")
end
end
dotnet-test скрипт:
dotnet run --project ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj -- $1
Но получаю ошибку:
Failure/Error: expect(command.output).to end_with("success\n")
expected "MSBUILD : error MSB1009: Project file does not exist.\nSwitch: ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj\n\nThe build failed. Please fix the build errors and run again.\n" to end with "success\n"
Но если я запустил сценарий из этого каталога, программа будет работать нормально. Не могу понять, в чем может быть разница между ними. Помощь очень ценится.
@lacostenycoder под этим я подразумеваю, когда я просто запускаю сценарий dotnet-test с терминала из каталога, он работает нормально, но когда тот же сценарий выполняется из Aruba, он выдает эту ошибку. Надеюсь, это объясняет.
вы можете выложить код, который у вас есть в dotnet-test?
dotnet run --project ../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj -- $1
Похоже, сценарий, который вы пытаетесь запустить, полагается на относительный путь для правильного выполнения. В этом случае вам может потребоваться cd в рамках вашей спецификации.
См. https://relishapp.com/cucumber/aruba/docs/filesystem/change-current-working-directory
Попробуйте использовать абсолютный путь к файлу вместо
../SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
Можете ли вы указать полный путь, например:
/Users/yourusername/pathtosomeproject/SomeProject/src/SomeProject.Console/SomeProject.Console.csproj
Очевидно, вам нужно будет заменить pathtosomeproject на то место, где он фактически находится.
Я попытался изменить его на: codehare.io/a3Nd4m, но теперь я получаю сообщение об ошибке, что let не разрешен в описании
Я не являюсь пользователем Linux, но, может быть, я могу изменить способ ссылки на путь к файлу проекта?
когда вы говорите «запустить сценарий из этого каталога», что именно вы запускаете и является ли этот сценарий рубиновым?