I odkryli, że DeploymentItemMSTest VS2010 - DeploymentItem Kopiowanie plików do różnych miejscach na różnych maszynach
[TestClass(), DeploymentItem(@"TestData\")]
nie kopiuje moje pliki danych testowych w tej samej lokalizacji, gdy testy są budowane i uruchamiane na różnych maszynach.
plików danych testu są kopiowane do „bin \ debug” katalogu w projekcie badania na moim komputerze, ale na komputerze mojego przyjaciela są kopiowane do „tego testu \ name_machine YY-MM-DD HH_MM_SS \ Out” .
Pojemnik \ katalog debug na moim komputerze można uzyskać z kodem:
string appDirectory =
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
i ten sam kod zwróci TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
na moich znajomych PC.
To jednak nie jest tak naprawdę problem. Problem polega na tym, że utworzone przeze mnie pliki danych testowych mają strukturę folderów, a ta struktura folderów jest przechowywana tylko na moim komputerze po skopiowaniu do bin \ debug, podczas gdy na moim komputerze znajomych tylko pliki są dodawane do katalogu TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
. Oznacza to, że testy przejdą na moją maszynę i zawiedzie na jego!
Czy istnieje sposób, aby DeploymentItem zawsze kopiował do folderu bin \ debug? Lub sposób zapewnienia, że struktura folderów zostanie zachowana, gdy DeploymentItem skopiuje pliki do folderu TestResults\*name_machine YY-MM-DD HH_MM_SS*\Out
?
To rozwiązało dokładnie mój problem z względną ścieżką. Miałem ten sam problem z plikami przechowywanymi w podfolderach i ścieżkach względnych zdefiniowanych w pliku app.config. Thx –
Atrybut 'DeploymentItem' dotyczy tylko metod. Jak to w ogóle piszesz? –