Welcome to GASP Sign in | Join | Help

Paulo Morgado

Tudo sobre Arquitectura de Software
TypeMock Isolator 4.2 já saíu

A TypeMock lançou a versão 4.2 da sua plataforma de simulacros: TypeMock Insulator. Vejam as notas de lançamento.

As quatro novas funcionalidades favoritas são:

Encadeamento melhorado

(Se querem saber mais sobre cadeias, leiam este post do Gil)

Tome esta classe a ser testada:

public class TestedClass1
{
    public IDictionary<string, object> Dictionary
    {
        get { throw new NotImplementedException(); }
    }

    public object Method(bool cond)
    {
        if (cond)
        {
            return Dictionary["true"];
        }
        else
        {
            return Dictionary["false"];
        }
    }
}

O seguinte teste:

[TestMethod]
[VerifyMocks]
public void TestMethod1()
{
    object trueObject = new object();
    object falseObject = new object();

    TestedClass1 target = RecorderManager.CreateMockedObject<TestedClass1>();

    using (RecordExpectations recorder = RecorderManager.StartRecording())
    {
        recorder.DefaultBehavior.CheckArguments();

        recorder.ExpectAndReturn(target.Dictionary["true"], trueObject);
        recorder.FailWhenCalled(target.Dictionary["false"]);
    }

    object value = target.Method(true);
    Assert.AreEqual(trueObject, value);
}

Simplesmente falharia com:

Test method TestProject1.UnitTest1.TestMethod1 threw exception:  TypeMock.VerifyException: 
TypeMock Verification: Method TestProject1.TestedClass1.get_Dictionary() has 1 more expected calls
.

Agora, simplesmente passa.

Avaliação no debugger não muda o comportamento do teste

Agora pode-se depurar o código sem necessidade de mudar os testes. Podem-se inquirir os valores simulados sem influenciar os testes.

Pode-se fazer isto e o teste passar:

Debugger Support

O debugger pode correr dentro de um block de gravação sem influenciar o teste

Pode-se entrar num bloco de gravação e depurá-lo sem afectar o processo de gravação.

Recording Block

Quando se entra num método simulado, o método é visualmente marcado

Quando se entra num método (ou propriedade) simulado, vês que está a ser simulado.

Visual Studio Cues

Posted: Monday, March 03, 2008 1:11 AM by Paulo Morgado

Comments

No Comments

Leave a Comment

(required) 

(required) 

(optional)

(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS