office.jsベースのコードをユニットテストするための共通のプラクティス、フレームワークまたはパターンはありますか? オブジェクトモデルのコンポーネントが多数あるため、office.jsへの呼び出しをモックすることは不可能です。 テストコンテナタスクペインアプリにテストコードを起動するためのカルマランチャーのようなものがありますか? 誰もがoffice.jsと対話するコードをテストする効果的な方法を試しましたか?ユニットテストのoffice.jsアプリコードはどうやっていますか?
2
A
答えて
0
は私がやってしまったものです:
- は解決
- に新しい作業ウィンドウアプリのプロジェクトを追加しました https://github.com/jasmine/jasmine/releases
- メイドタスクペインのアプリのマニフェストソースの場所地点からのジャスミンスタンドアロンのzipを付属SpecRunner.html
- Office.initilizeで実行するwindow.loadのテスト仕様の実行を置き換えるために、boot.jsが変更されました。
1
"標準" javascriptコードの場合と同じ方法で、Office.jsベースのコードをテストするべきだと思います。事実、Office.jsはJQueryのような別のJavaScriptの依存関係です。
もちろん、テストページにOffice.jsを含めず、Officeオブジェクトをモックで置き換えてはいけません。あなたはSinon Jsのjavascript mocking frameworkを見てみることができます。
ユニットテストを書くときは、テスト対象システム(SUT)と呼ばれるコード(クラスまたはモジュール)を分離します。アドインをAngularなどのSingle Page Applicationフレームワークに基づいて作成した場合、SUTはコントローラになる可能性があります。次に、依存関係としてOfficeオブジェクトを挿入することができます。実際という文脈で、これはOffice.jsからの本当のOfficeになります。テストでは、これはモックになります。ここで
関連する問題
- 1. ユニットテストの書式セットはDjangoでどうやっていますか?
- 2. CSLAのユニットテストですか?どうやって?何?
- 3. PythonでIXR_Base64はどうやっていますか?
- 4. 買い物カタログはどうやって作れますか?
- 5. ユニットテストでデコレータが適用されている関数をどうやって模擬しますか?
- 6. スプライスマシンのドキュメントはどうやって見つかりますか?
- 7. どうやって?
- 8. チェーンソーのフィルターはどうやって作っていませんか?
- 9. どのような宝石が正しいものなのか、どうやって知っていますか?
- 10. RubyMineでWSLのgitをどうやって使いますか?
- 11. EXC_BAD_ACCESSのユニットテストはどのようにして行いますか?
- 12. どうやってFacebookやTwitterでログインできますか?
- 13. これをどうやってやりますか? Java継承
- 14. 私はこのボタンをどうやって押しますか
- 15. スーパーパワーゲームエンジンのブラウザではどうやってビルドできますか?
- 16. このモックはどうやって作れますか?
- 17. BSTのインオーダートラバーサルはどうやって印刷しますか?
- 18. iOS - モーダルビューコントローラのサイズはどうやって調整しますか?
- 19. OpenGLのシンボルはどうやって入手できますか?
- 20. このキーボードはどうやって作れますか?
- 21. osmdroidの地図はどうやってダウンロードできますか?
- 22. makeのデフォルト値はどうやって設定しますか?
- 23. ラズベリーパイのワンドはどうやって手に入りますか?
- 24. ポケモンのサードパーティアプリはどうやって作れますか?
- 25. PuTTyのローカルディレクトリにはどうやって行きますか?
- 26. ListViewアイテムのポップアップメニューはどうやって作成しますか?
- 27. FacebookはどうやってAccessSpreaderがうまくいくのですか?
- 28. Androidのユニットテストは、私はいくつかのユニットテストを持って
- 29. Apacheにマッチするエタグをどうやって作っていますか?
- 30. javascriptのユニットテスト:あなたはどうやって模擬しますか? - a(私にとっては難しい)例
理論的には、はい、これは私たちがやり遂げる方法です。ただし、たとえばコードを とすると、https://github.com/OfficeDev/office-js-docs/blob/master/docs/excel/build-your-first-excel-add-in.md Officeオブジェクトを嘲笑してしまうと、仕事量が過大になることになります。ワークブック、シート、範囲、チャート、およびすべてのサブオブジェクトをモックする必要があります。だから、嘲笑は選択肢のようには見えない。 jqueryユニットテストでは模擬DOMは作成されませんが、HTMLページで実行されるので、Office.jsベースのテストはコンテナタスクペインアプリケーションで実行する必要があると思います。 – Sameera
@Sameera単体テスト(統合テストなし)の場合は、すべてをモックする必要はなく、SUTで使用されるOfficeのメソッド/プロパティだけです。これは大きな仕事ではないはずです... –
@Sameera、私はそれに現実的には、入力/出力を受け入れるスタンドアロンの関数を書いています。それらをユニットテストし、Office.jsを完全に除外します。そして、私はExcelの内部で実行される別の一連の統合テストを行い、できるだけユーザーのやりとりに近いUI駆動の代わりにプログラムで駆動されるようにします –