Как синхронизировать опубликовать версию с версией блока в приложении ClickOnce.NET?

Я думаю, что требуется больше пользовательской работы.

verify(row, new LastCall()).saveToDatabase();

и затем

public class LastCall implements VerificationMode {
    public void verify(VerificationData data) {
        List<Invocation> invocations = data.getAllInvocations();
        InvocationMatcher matcher = data.getWanted();
        Invocation invocation = invocations.get(invocations.size() - 1);
        if (!matcher.matches(invocation)) throw new MockitoException("...");
    }
}

Предыдущий Ответ:

Вы правы. verifyNoMoreInteractions - то, в чем Вы нуждаетесь.

verify(row).setSomething(value);
verify(row).setSomethingElse(anotherValue);
verify(row).editABunchMoreStuff();
verify(row).saveToDatabase();
verifyNoMoreInteractions(row);
34
задан Alexander 22 October 2018 в 12:05
поделиться

2 ответа

Последняя строка sylvanaar, по моему опыту, кажется правильной; но с оговоркой, что он доступен только для развернутых версий приложения. В целях отладки вам может понадобиться что-то вроде:

    static internal string GetVersion()
    {
        if (ApplicationDeployment.IsNetworkDeployed)
        {
            return ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
        }

        return "Debug";
    }
22
ответ дан 27 November 2019 в 17:07
поделиться

Я изменил свой файл .csproj, чтобы обновить версию сборки. Я создал для этого конфигурацию под названием «Public Release», но это не обязательно.

  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
  <PropertyGroup Condition="'$(BuildingInsideVisualStudio)' == 'true'">
    <MSBuildCommunityTasksPath>$(SolutionDir)Tools\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
  </PropertyGroup>
  <!-- Required Import to use MSBuild Community Tasks -->
  <Import Project="$(SolutionDir)Tools\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" Condition="'$(BuildingInsideVisualStudio)' == 'true'" />
  <Target Name="BeforeCompile" Condition="'$(BuildingInsideVisualStudio)|$(Configuration)' == 'true|PublicRelease'">
    <FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
      <Output TaskParameter="OutputVersion" PropertyName="AssemblyVersionToUse" />
    </FormatVersion>
    <AssemblyInfo CodeLanguage="CS" OutputFile="$(ProjectDir)Properties\VersionInfo.cs" AssemblyVersion="$(AssemblyVersionToUse)" AssemblyFileVersion="$(AssemblyVersionToUse)" />
  </Target>

Опубликованная версия может быть:

ApplicationDeployment.CurrentDeployment.CurrentVersion
10
ответ дан 27 November 2019 в 17:07
поделиться
Другие вопросы по тегам:

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