Модульное тестирование артефактов BizTalk 2020 с использованием Visual Studio 2019 приводит к проблеме с Intellisense
У меня возникает проблема при попытке использовать модульное тестирование для артефактов BizTalk 2020 в Visual Studio 2019.
Вот шаги, которым я следовал:
- Я создаю новый пустой проект BizTalk "Тестирование" и настраиваю его для модульного тестирования в свойствах проекта.
- Создаю в проекте папку "Трубопроводы"
- В этой папке я создаю конвейер приема "ppr_Testing.btp" с одним компонентом "дизассемблер XML".
- Создаю новый проект модульного тестирования "_Test"
- В проекте "_Test" я добавляю ссылку на проект в "Тестирование"
- В проекте модульного тестирования я создаю модульный тест и пытаюсь написать код для создания экземпляра конвейера ppr_Testing.
using Testing.Pipelines;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace _Test
{
/// <summary>
///This is a test class for Test_ppr_Testing and is intended
///to contain all Test_ppr_Testing Unit Tests
///</summary>
[TestClass()]
public class Test_ppr_Testing
{
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
/// <summary>
///A test for ppr_Testing Constructor
///</summary>
[TestMethod()]
public void Test_ppr_TestingConstructor()
{
ppr_Testing target = new ppr_Testing();
var lDocuments = new System.Collections.Specialized.StringCollection();
lDocuments.Add(@"C:\MyTestDirectory\SomeFile.xml");
var lParts = new System.Collections.Specialized.StringCollection();
var lSchemas = new System.Collections.Generic.Dictionary<string, string>();
try
{
target.TestPipeline(lDocuments, lParts, lSchemas);
var lTmp = this.TestContext;
}
catch (Exception ex)
{
Assert.Fail(ex.ToString());
}
}
}
}
Результат:
- Код подчеркнут по ошибке, потому что объект не распознается Intellisense
- Если мне удастся написать тестовый код без Intellisense, он компилируется и запускается успешно.
Я что-то делаю не так или моя установка Visual Studio 2019 повреждена?
Я сейчас перехожу с BizTalk 2010 на BizTalk 2020, и с BizTalk 2010 и Visual Studio 2010 все стало проще:
- Я просто захожу в меню "Тест", "Новый тест...", затем "Мастер модульного тестирования" и следую указаниям мастера, и все в порядке.
Заранее благодарю за любую помощь.
1 ответ
При создании проекта BizTalk с артефактами BizTalk (btm/btp/xsd) BizTalk создаст файлы .cs для этих файлов в проекте. Сгенерированные файлы .cs не добавляются автоматически в сам проект, и это приводит к тому, что Intellisense в проекте модульного тестирования не может «видеть» типы. Если вы включите файлы .cs и выполните перестроение, проблема должна исчезнуть. Однако обратите внимание, что добавление сгенерированных файлов cs в проект и в репозиторий кода может вызвать проблемы при сборке из-за заблокированных файлов.