1

Оценка SDK Imaging Imaging, я пытаюсь создать проект модульного тестирования в своей Visual Studio 2012, чтобы проверить некоторые фрагменты кода. Я ссылался на DLL LeadTools из установочного каталога «C: \ LEADTOOLS 18 \ Bin \ Dotnet4 \ Win32» и указал мой выходной каталог вывода тестового проекта в тот же каталог (чтобы все бинарные файлы LeadTools были рядом с моим выходом). Но работает модульный тест, я получаю следующее execption:Как ссылаться на проект LeadTools для тестирования модулей?

Метод испытания LeadTools.Evaluation.UnitTests.Snippets.PdfToTiffTest.PdfToTiffTest выбросил исключение: Leadtools.RasterException: растровый PDF Двигатель необходимо использовать этот функция

Я подозреваю, что проблема вызвана процессом VSTest выполняется за пределами 'C: \ LEADTOOLS 18 \ Bin \ Dotnet4 \ Win32' и может»найти необходимые LEADTOOLS двоичные файлы.

Вопрос: Каков правильный способ проверки бинарных файлов LeadTools для тестового проекта?

Unit код теста:

using System.IO; 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Pdf; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace LeadTools.Evaluation.UnitTests.Snippets 
{ 
    [TestClass] 
    public class PdfToTiffTest 
    { 
     [TestMethod] 
     public void PdfToTiffTest() 
     { 
      const string pdfPath = "C:\Samples\source.pdf"; 
      var tiffPath = Path.ChangeExtension(pdfPath, "tiff"); 

      // Load the input PDF document 
      var document = new PDFDocument(pdfPath); 
      using (var codecs = new RasterCodecs()) 
      { 
       // Loop through all the pages in the document 
       for (var page = 1; page <= document.Pages.Count; page++) 
       { 
        // Render the page into a raster image 
        using (var image = document.GetPageImage(codecs, page)) 
        { 
         // Append to (or create if it does not exist) a TIFF file 
         codecs.Save(image, tiffPath, RasterImageFormat.TifJpeg, 24, 1, 1, -1, CodecsSavePageMode.Append); 
        } 
       } 
      } 
     } 
    } 
} 

ответ

1

В VS 2010, можно было определить, где для решения assemplies прямо в настройках теста. Для этого в VS 2012 вы можете сделать это в App.config, как описано в этом сообщении Assembly Resolution for Unit Tests от Visual Studio Test Team.

Просто добавьте app.config в свой тестовый проект и поместите там < AssemblyResolution> подробности.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="TestExecution" type="Microsoft.VisualStudio.TestTools.Execution.TestExecutionSection, Microsoft.VisualStudio.QualityTools.ExecutionCommon, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </configSections> 
    <TestExecution xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> 
    <AssemblyResolution> 
     <RuntimeResolution> 
     <Directory path="%ProgramFiles%\SampleApplication\" includeSubDirectories="true"/> 
     </RuntimeResolution> 
    </AssemblyResolution> 
    </TestExecution> 
</configuration>