У меня есть класс TestBase, из которого происходит каждый тест, класс выглядит следующим образом:
[TestClass]
public class TestBase
{
public TestContext TestContext { get; set; }
protected HelperSelenium SeleniumHelper { get; set; }
[TestInitialize]
public void TestInitBase()
{
SeleniumHelper = new HelperSelenium(TestContext);
}
}
Как видите, TestBase создает экземпляр TestContext, который необходим для записи текста в тест (console
и debug
нежизнеспособны, так как они будут печататься в каждом тесте, который выполняется в данный момент, если он выполняется параллельно).Тогда мне нужно TestContext
в [TestMethod]
, чтобы иметь возможность записать сообщение:
[TestClass]
public class TestMethod1 : TestBase
{
...
[TestInitialize]
public void TestInit()
{
TestContext.WriteLine("Starting TestInitialize...");
...
}
[TestMethod]
public void TestMethod1()
{
TestContext.WriteLine("Starting TestMethod...");
...
}
[TestCleanup]
public void TestCleanup()
{
TestContext.WriteLine("Starting TestCleanup...");
...
}
...
}
Мой вопрос, возможно ли перехватить TestContext с PostSharp и затем перехватить вызовы на [TestInitialize]
, [TestMethod]
и [TestCleanup]
, чтобы я мог добавить письменный перевод вне теста.
Я только начинаю с PostSharp и не обладаю большими знаниями, любая помощь приветствуется.