Задача перестала работать, потому что AL.exe не был найден,

Несмотря на то, что это довольно старая тема, я все еще думал о том, чтобы внести свой вклад. Я чувствую, что поддержка JUnit для тестирования, основанного на данных, менее и слишком недружественная. например чтобы использовать параметризованный, нам нужно написать наш конструктор. С Theory Runner у нас нет контроля над набором тестовых данных, которые передаются в тестовый метод.

В этой серии постов блога есть и другие недостатки: http://www.kumaranuj.com/2012/08/junits-parameterized-runner-and-data.html

В настоящее время существует довольно приятное комплексное решение в виде EasyTest, которое является платформой, расширенной за счет JUnit и предназначенной для предоставления пользователям множества функциональных возможностей. Его основной задачей является выполнение Data Driven Testing с использованием JUnit, хотя от вас больше не требуется зависеть от JUnit. Вот проект GitHub для ссылки: https://github.com/anujgandharv/easytest

Если кто-то заинтересован поделиться своими мыслями / кодом / предложениями, то это время. Вы можете просто зайти в репозиторий github и создать проблемы.

13
задан Wai Ha Lee 26 February 2016 в 11:45
поделиться

4 ответа

Выгрузите проект, а затем отредактируйте файл .csproj. Вы увидите задачу импорта

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 

MSBuildBinPath = "C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5", если ваш проект нацелен на .Net 3.5

, затем перейдите в

C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.CSharp.targets файл

откройте этот файл в блокноте и выполните поиск задачи AL, и вы получит что-то вроде этого

 <AL AlgorithmId="$(Satellite_AlgorithmId)"
            BaseAddress="$(Satellite_BaseAddress)"
            CompanyName="$(Satellite_CompanyName)"
            Configuration="$(Satellite_Configuration)"
            Copyright="$(Satellite_Copyright)"
            Culture="%(Culture)"
            DelaySign="$(DelaySign)"
            Description="$(Satellite_Description)"
            EmbedResources="@(_SatelliteAssemblyResourceInputs)"
            EvidenceFile="$(Satellite_EvidenceFile)"
            FileVersion="$(Satellite_FileVersion)"
            Flags="$(Satellite_Flags)"
            GenerateFullPaths="$(Satellite_GenerateFullPaths)"
            KeyContainer="$(KeyContainerName)"
            KeyFile="$(KeyOriginatorFile)"
            LinkResources="@(Satellite_LinkResource)"
            MainEntryPoint="$(Satellite_MainEntryPoint)"
            OutputAssembly="$(IntermediateOutputPath)%(Culture)\$(TargetName).resources.dll"
            Platform="$(PlatformTarget)"
            ProductName="$(Satellite_ProductName)"
            ProductVersion="$(Satellite_ProductVersion)"
            ResponseFiles="@(AlResponseFile)"
            SourceModules="@(Satellite_SourceModule)"
            TargetType="$(Satellite_TargetType)"
            TemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)"
            Title="$(Satellite_Title)"
            ****ToolPath="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"****
            Trademark="$(Satellite_Trademark)"
            Version="$(Satellite_Version)"
            Win32Icon="$(Satellite_Win32Icon)"
            Win32Resource="$(Satellite_Win32Resource)">

            <Output TaskParameter="OutputAssembly" ItemName="FileWrites"/>

        </AL>

Обратите внимание, что я изменил ToolPath в место, где на моем компьютере существует AL.

По умолчанию он использует $ (AlToolPath). Не уверен, каково значение этого свойства, но я уверен, что если вы получаете эту ошибку, она не указывает на правильное местоположение.

Таким образом, простыми словами, задача AL не может найдите AL.exe, и когда вы отредактируете его и предоставите ему значение ToolPath, вы поможете ему найти его.

Надеюсь, это объясняет вам, почему вы получаете это сообщение об ошибке.

6
ответ дан 1 December 2019 в 20:00
поделиться
[

] Вы получаете эту ошибку, потому что строите проект 3.5, в котором используется монтажный манифест, но не установлены инструменты 3.5. (Надеюсь, кто-нибудь сможет предоставить дополнительную информацию.)[

] [

]Я настоятельно рекомендую установить [][]Microsoft Windows SDK для Windows 7 и .NET Framework 3.5 SP1[][] и []избежать взлома [], особенно когда вам нужно только установить инструменты, и обязательно ознакомьтесь с примечаниями к версии для получения информации по AL.exe. (Этот SDK является рекомендуемой установкой для 3.5 в связи с исправлением безопасности)[

] [

]Информация о выпуске для SDK указывает, что ALTOOLPATH установлен Visual Studio 2005, что может объяснить, почему у некоторых пользователей возникают проблемы со сборкой. Это догадка с моей стороны.[

] [

]Используя SysInternals' Process Monitor, при сборке проекта 3.5 Visual Studio 2008 выглядит в папке %SystemRoot%\Microsoft.NET\Framework\v3.5 для сборочного компоновщика (AL.exe). Не найдя там AL, он будет использовать место, указанное в конкретной настройке реестра v6.0A. (Обратите внимание, что v6.0A не для .NET 3.5.) Поэтому []установите[] соответствующее программное обеспечение и []не взламывайте[]. :O)[

] [

]У меня вопрос: Сборщик сборки отличается от 2.0, 3.0 и 3.5?[

] [
] [
] [

][]Windows SDK для Windows Server 2008 и .NET Framework 3.5[][

] [

]Установка только что выпущенной версии Microsoft Windows SDK для Windows 7 и .NET Framework 3.5 SP1 вместо этот выпуск рекомендуется. Если вы это сделаете идите и установите этот SDK после того, как VS2008 SP1, пожалуйста, убедитесь, что патч описанный в Базе знаний 974479 Применяется. См. раздел Обзор для получения дополнительной информации информация. [

] [
]
16
ответ дан 1 December 2019 в 20:00
поделиться

Нет необходимости устанавливать VS2010 на серверы сборки.

Экспортируйте ключ «v7.0A» из своего ящика разработчика, импортируйте его в реестр сервера сборки. Просто убедитесь, что вы переименовали любые «Program Files (x86)» в «Program Files», в зависимости от того, какая версия серверов Windows у вас запущена.

4
ответ дан 1 December 2019 в 20:00
поделиться

Я сделал то же самое, что и dcadenas, и просто скопировал папку SDKs\7.0A с dev-машины и экспортировал настройки реестра v7.0A с dev-бокса на сервер сборки. Это сработало отлично, так как мне не нужно было устанавливать VS 2010 на сервер сборки. Спасибо.

2
ответ дан 1 December 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: