1

セレン Web ドライバーをモックしようとしています。次のコードを使用します。

    public  IWebDriver GetMockDriver()
    {
        this.Mock = new Mock<IWebDriver>();
        return (IWebDriver)this.Mock.Object;            
    }

ドライバーのプロパティにアクセスするだけであれば問題ありませんが、Driver の一部であるオブジェクトにアクセスしようとすると、次のようになります。

             driver.Manage().Window.Maximize();

System.NullReferenceException が返されます。

Mock オブジェクトに対して行われた呼び出しを実際に追跡したくない/追跡する必要はありません。実際の Web ドライバーのインスタンスを実際に作成する必要がなく、TDD を使用してセレン テストを記述できるように、iWebDriver を実装するものが必要です。毎回。

4

1 に答える 1

2

特定のメンバーを呼び出したい場合は、モックで実装を定義する必要があります

this.Mock.Setup(x => x.SomeMethod()).Returns(someObject);

上記のバリエーションを試してみてください。それ以外の場合、モックされたメソッドはメンバーのデフォルトのデータ型を返します (おそらく null)

于 2013-10-01T04:42:23.047 に答える