1

最近 NSpec を使い始めましたが、これをどのようにスケーリングするかわかりません。

仕様を再利用する最善の方法 ( it["something"] = () => {};) は?

インターフェイスIMyServiceと、それを実装する 2 つのクラスがあるService1としService2ます。

IMyserviceここで、レベルで適用される仕様を作成し、それらを 2 つの実装クラスに対して実行したいと考えています。

ここで何かが足りないかもしれませんが、これを行う簡単な方法を見つけることができます。

4

1 に答える 1

2

抽象クラスを使用して仕様を再利用できます。次に例を示します。

/*
Output:

describe Service1
  it should do this
  it should also do this
  specify something unique to service1    
describe Service2
  it should do this
  it should also do this
  specify something unique to service2
*/


abstract class some_shared_spec : nspec
{
    public IMyservice service;

    void it_should_do_this()
    {

    }

    void it_should_also_do_this()
    {

    }
}

class describe_Service1 : some_shared_spec 
{
    void before_each()
    {
        service = new Service1();
    }

    void specify_something_unique_to_service1()
    {
    }
}

class describe_Service2 : some_shared_spec 
{
    void before_each()
    {
        service = new Service2();
    }

    void specify_something_unique_to_service2()
    {
    }
}

于 2012-08-11T14:22:29.507 に答える