против 2012: Прокладки собирают

Я пытаюсь сделать прокладку в ПРОТИВ 2012 окончательной, как он описал в месте MSDN:

[TestClass]
public class TestClass1
{ 
    [TestMethod]
    public void TestCurrentYear()
    {
        int fixedYear = 2000;

        using (ShimsContext.Create())
        {
         //Arrange:
         //Detour DateTime.Now to return a fixed date:
          System.Fakes.ShimDateTime.NowGet = 
             () =>
              { return new DateTime(fixedYear, 1, 1); };

         //Instantiate the component under test:
          var componentUnderTest = new MyComponent();

         //Act:
          int year = componentUnderTest.GetTheCurrentYear();

         //Assert: 
         //This will always be true if the component is working:
          Assert.AreEqual(fixedYear, year);
        }
    }
}

see http://msdn.microsoft.com/en-us/library/hh549176.aspx

Но когда я собираю свой тестовый проект, я получаю понятие в Продукции:

предупреждение: Некоторые фальшивки не могли быть произведены. Для полных деталей, набор Диагностический признак элемента Фальшивок в этом файле к 'истинному' и восстанавливают проект.

Как я могу решить это предупреждение?

10
добавлено отредактировано
Просмотры: 1
de
Отредактированный. Теперь обратная перемотка вы-1
добавлено автор alerya, источник
Описанный в , что статья MSDN? Мы don' у t есть достаточно информации здесь, чтобы даже начать предполагать ответ.
добавлено автор Oded, источник

3 ответы

Обновление Visual Studio 2012 года 1 улучшенная генерация кода в Фальшивках, чтобы упростить поиск неисправностей проблем генерации кода. Каждый раз, когда Окурок или Прокладка не могли быть произведены для конкретного типа, Фальшивки могут теперь произвести предупреждающее сообщение - вы видите это в Ошибочном окне Списка Visual Studio.

Однако, чтобы препятствовать количеству предупреждений стать подавляющими для крупного собрания, такого как Система, Фальшивки производят единственное предупреждение по умолчанию. Вы видите полный список предупреждающих сообщений, устанавливая , Диагностический признак Фальшивки элемент xml в.Fakes файле к <�сильному> "верный" или "1" и восстанавливая проект. (См. первую линию кода ниже для примера.)

Чтобы решить предупреждение, измените.Fakes файл, чтобы произвести только те Окурки и Прокладки, в которых вы нуждаетесь в своих тестах.Details здесьздесь полный список доступных параметров


  
  
  
    
    
  

39
добавлено
Да. Используйте подход, описанный в этом ответе, чтобы произвести, только те гасят и типы прокладки, в которых вы нуждаетесь. Не определяйте типы, которые не могут быть погашены или shimmed.
добавлено автор Oleg Sych, источник
Есть ли способ подавить сообщения предупреждений? Я установил Диагностический в ложный, и Многословие к критическому, но я все еще получаю предупреждения, что некоторые фальшивки не могли быть произведены.
добавлено автор Zorayr, источник
Есть ли любой способ подавить даже "единственное предупреждение", произведенное когда диагностический = ложный. Не выполнимо войти в список необходимых или быть удаленным. Can' t мы просто подавляем все предупреждения для фальшивок?
добавлено автор Rahul, источник
Привет! Я получил некоторые проблемы, пытающиеся добавить только определенные Прокладки или Окурки, Восстанавливать/Чистить опции из Visual Studio don' t удаляют предварительно собранные Ассамблеи Фальшивок, поэтому в случае, если это, кто-то получил проблемы, делающие это remeber, удаляет папку FakesAssemblies вручную.
добавлено автор juan25d, источник

Я уже решил его один.

Это была.Net Структура 4.0 в Собственности.

Изменение на 4.5 решает проблему.

2
добавлено
Ответ @OlegSych должен быть отмечен как правильный здесь - его ответ более относится к вопросу, чем, что в настоящее время отмечается как ответ.
добавлено автор Rockdocta, источник
Свойство проекта. Я использовал .net 4.0. Но 4.5 необходимых
добавлено автор alerya, источник
В то время как изменение цели.NET версия структуры в вашем тестовом проекте единицы может уменьшить возможности столкновения с типом, который не поддерживают Фальшивки, это не устраняет это предупреждающее сообщение непосредственно.
добавлено автор Oleg Sych, источник
довод "против", который вы объясняете, как вы, что вы подразумеваете под ' Это была.Net Структура 4.0 в Property'?
добавлено автор Gheorghe Bulicanu, источник

Попытайтесь удалить тех.Fakes файл. Я удалил их случайно и собрал, и предупреждений не стало. Я не уверен, каково воздействие, но все, кажется, хорошо работает. Я думаю, что это заставляет собирание повторно собирать фальшивки, регистрируют все, которое есть строить.

0
добавлено
Если вы удаляете .fakes файл, вы удаляете способность сделать фальшивки. Это полностью победило бы цель.
добавлено автор paqogomez, источник