Question: So I have situation when I need skip current test from test method body.
Simplest way is to write something like this in test method.

```
if (something) return;

```

But I have a lot complicated tests and I need a way to skip test from methods which I invoke in current test method body.
Is it possible?

Answer: 
You should not skip test this way. Better do one of following things:

* mark test as ignored via `[Ignore]` attribute
* throw `NotImplementedException` from your test
* write `Assert.Fail()` (otherwise you can forget to complete this test)
* remove this test

Also keep in mind, that your tests should not contain conditional logic. Instead you should create two tests - separate test for each code path (with name, which describes what conditions you are testing). So, instead of writing:

```
[TestMethod]
public void TestFooBar()
{
   // Assert foo
   if (!bar)
      return;
   // Assert bar
}

```

Write two tests:

```
[TestMethod]
public void TestFoo()
{
   // set bar == false
   // Assert foo
}

[Ignore] // you can ignore this test
[TestMethod]
public void TestBar()
{
   // set bar == true
   // Assert bar
}

```
You can ignore a test and leave it completely untouched in the code.

```
[TestMethod()]
[Ignore()]    //ignores the test below
public void SomeTestCodeTest()
{
   //test code here

}

```