Golang の単体テストで netconf セッションをモックする方法

WBOY
リリース: 2024-02-12 15:42:16
転載
858 人が閲覧しました

如何在单元测试 Golang 中模拟 netconf 会话

質問の内容

Juniper の netconf パッケージ ("github.com/juniper/go-netconf/netconf") を使用して、コード内で netconf セッションを確立しています。

単体テストで netconf セッションをシミュレートする方法を知りたいです。

私の方法は次のとおりです:

リーリー リーリー

この問題は、myfunction() に sess.close() を遅延させ、nil ポインター逆参照によりエラーをスローする行がある場合に発生します。 リーリー

それでは、sess.close() がエラーをスローしないように、mockgetsshconnection() メソッドにどのような変更を加えればよいでしょうか?

解決策

nil ポインタ エラーは、基礎となる transportclose 関数 から発生します。 close の場合に呼び出されます。幸いなことに、transport は、netconf.session の実際のインスタンスで簡単にモックして使用できる interface タイプです。たとえば、次のようになります: リーリー

現在テストしている関数は、セッションの

sessionid ではなく 0 を返すことに注意してください。したがって、テストが成功する前に問題を解決する必要があります。

以上がGolang の単体テストで netconf セッションをモックする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート