Это почти то же самое в Angular 2+.
Правильный синтаксис:
Очистка будет выполняться автоматически, предотвращая попадание тегов злых сценариев в ваш div. Источник: Angular - Синтаксис шаблона
Так как Вы хотите дразнить класс ресурса, я предполагаю, что Вы уже имеете
interface IResource : IDisposable
{
void DoSomething();
}
class DisposableResource : IResource
{
public void Dispose() { Console.WriteLine("That's it. I'm outta here!"); }
public void DoSomething() { Console.WriteLine("Hard work this"); }
}
Чтобы смочь ввести obj, Вам нужен шов.. т.е. GetResource ()
class MyClass
{
protected virtual IResource GetResource()
{
return new DisposableResource();
}
public void MyMethod1()
{
using (IResource r = GetResource())
{
r.DoSomething();
}
}
}
В Вашем тестовом коде просто разделите на подклассы и переопределите GetResource () для возврата насмешки.
class MySubClassForTest : MyClass
{
protected override IResource GetResource()
{
return new MockResource();
}
}
class MockResource : IResource // or use a mock framework to create one
{
public void DoSomething() { Console.WriteLine("Me work?"); }
public void Dispose() { Console.WriteLine("Disposed Mock!"); }
}
Именно.
MyClass obj = new MyClass(); // production code
obj.MyMethod1();
obj = new MySubClassForTest(); // test code
obj.MyMethod1();
Используя шаблон "фабрика" и/или внедрение зависимости шаблон значительно упростит путь Вы методы модульного теста, которые инстанцируют их собственных ресурсов.
Вот хорошее чтение на предмете:
Нет, операторы использования, конечно, не запрещаются. Но что на самом деле делает MyDisposableClass? Это ударяет меня, что это не действительно вопрос оператора использования, являющегося проблемой - это - вопрос метода, создающего новый объект, который Вы хотите дразнить - это - проблема.
Необходимо ли действительно дразнить MyDisposableClass? Это может быть передано в MyMethod вместо того, чтобы быть созданным в нем? Как всегда прием должен разработать, как сцепиться в процесс и ввести Ваши собственные объекты, когда Вы должны...
TypeMock позволит Вам дразнить это. Это работает путем изменения IL на лету и таким образом не имеет никаких проблем при насмешке материала, который Вы иначе не можете дразнить.
Но даже с TypeMock необходимо все еще смотреть на то, что Jon Skeet и Pop Catalin говорят выше. Ваш код будет легче поддержать, при попытке сократить количество зависимостей.