問題タブ [flexunit4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - hamcrestを使用してas3オブジェクトを比較する正しい方法は何ですか?
フレックスユニットに hamcrest を使用して 2 つのオブジェクトを比較して同じかどうかを確認しようとしていますが、オブジェクトにサブオブジェクトがある場合、エラーがスローされます。
assertThat(..., hasProperties(...)); を実行したい サブオブジェクトで。
それを取得する方法はありますか、それともカスタムマッチャーを作成する必要がありますか?
編集
テストしたいオブジェクト構造の例:
expected と objectUnderTest の構造は同じであるため、テストはパスするはずですが、エラーが返されます。
また、2 つの JSON 文字列を比較する方法があれば、それも問題ありません。
EDIT2
これは、djib ヘルプ後の最終バージョンです。
actionscript-3 - 単体テストが他のユニットに依存している場合、単体テストをどのようにモジュール化できますか?
かなり複雑だが MVC を利用するアプリケーションをレトロスペクティブに単体テストしようとしています。レトロスペクティブに単体テストを適用するのは理想的ではないことはわかっていますが、既存のコードをリファクタリングすることで可能だと信じています。ほとんどの場合、他のユニットに依存せずに 1 つのユニットを単体テストすることはできません。つまり、ビューはモデルに依存しています。
この場合、単体テストを行う最良の方法は何ですか? 実機を流用するのと模擬モデルを作るのとではどちらが良いでしょうか?
私の状況で実際のモデルを利用する際の問題は、モデルが XML からデータを取得する他の応答クラスに依存しているため、依存の連鎖が生じることです。このモデルには多くのデータがあるため、これを使用する方がはるかに簡単ですが、要点を見逃している可能性があります。
簡潔にするために、アプリケーションの UML を提供しました。
**編集 ****
私が正しければ、モッククラス内にモックデータを作成するのがベストプラクティスですか? たとえば、ビュー クラス「PlaylistPanel」をエラーなしで実行するために必要なデータを作成するモック クラス「MockPlaylistPanelModel」があります。
actionscript-3 - 2つのバインディングが失敗したTextInputテキスト変更のFlexunitテスト
Flex でビューの単体テストを作成しようとしています。reportName
TextInputとプロパティ の間には双方向バインディングがあります_parameters
。コードを実行するとバインディングは正常に機能しますが、テストは失敗します。以下は、同様の方法で失敗する多くのテストの 1 つです。テストは失敗し、次のメッセージが表示されます。
のトレース メッセージからparameters_changeHandler()
、次のことがわかります。
したがって、TextInputreportName
は正しく更新されていますが、テストでテキストを設定する方法はバインディングを元に戻すことです。少なくともそれが問題だと思います。
2 バインディングを維持しながら値を更新するにはどうすればよいですか? ユーザーのデータ入力をシミュレートする別の方法はありますか?
View.mxml:
LocationAnalysisParameters.as
ViewTest.as パッケージ ビュー {
apache - Mockolate 検証エラー: 無効なオーバーライド.. Flex SDK 4.10 の更新後
アプリケーションのフレックス sdk を 4.10 にアップグレードして以来、mockolate を使用する単体テストの実行中に検証エラーが発生しました。
ByteArray
これらは、メソッド シグネチャで a が使用されているインターフェイスをモックするときに発生するようです。
インターフェースの例:
テストクラスの例:
flexmojos 6.0.1 でテストをコンパイルして実行すると、次のエラーがスローされます。
VerifyError: エラー #1053: mockolate.generated.IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED の IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED の無効なオーバーライド
私の最初の疑いは、playerglobal(またはこの場合はairglobal)のsdkバージョンの問題であったため、sdk 4.10でmockolate(およびflexunit)を再コンパイルしましたが、結果はありませんでした。
動作しているように見える唯一のことは、メソッド シグネチャから ByteArray 型を削除することです...しかし、それは実際にはオプションではありません :-) (これはこれまで問題になったことはありません)
同様の問題を抱えている人はいますか?
ありがとう
ant - Jenkins の AIR Mobile プロジェクト用 FlexUnit の ANT-Task
Flex 4.11.0 と AIR 4.0 を使用してモバイル アプリケーションを構築しています。私の IDE は Flash Builder 4.7 です。ファイル システム アクセスなどの AIR 機能を使用して、多くの単体テストを作成しました。
プロジェクトをジェンキンスのCIジョブに統合しようとしています。次のことを行うANTスクリプトがあります。
- コンパイル中
- Android 向けのパッケージング
- iOS 向けのパッケージング
- ASDOC の生成
私が今欲しいのは、ANT-Task を記述して単体テストを起動し、後で Jenkins で解析できる XML または HTML でレポートを生成することです。
私は次のことを試しました: - http://tutorials.digitalprimates.net/flexunit/Unit-16.htmlのチュートリアルに従い、サンプルを動作させました。ただし、これは Flash プロジェクトであり、AIR プロジェクトではありません。- https://cwiki.apache.org/confluence/display/FLEX/FlexUnit+Ant+Taskのドキュメントを読み、git@github.com:flexunit/flexunit.git から FlexUnit コードをダウンロードしてビルドし、FlexUnit4AIRCIListener を取得します。 swc - 答えを見つけることなく、インターネット上のあらゆる場所から多くの情報を読みます (いくつかのヒントは見つかりましたが、多くの情報は古くなっているか、デッドリンクを参照しています)
私がこれまでに持っているものは次のとおりです。
私の FlexUnit.mxml-Application の関連部分は次のとおりです。
ステップ 1. ANT-Task から動作します (少なくとも FlexUnit.swf を取得します)。ただし、タスクで SWF を起動すると<flexunit>
失敗します。
コンソール出力: [flexunit] Generating default values ... [flexunit] Using default working dir [D:\workspaces\flex\projects\clx-satellite] [flexunit] テスト実行に次の設定を使用: [flexunit] FLEX_HOME: [D:\tools\sdk\flex\4.11.0_AIR4.0] [flexunit] haltonfailure: [false] [flexunit] headless: [false] [flexunit] 表示: [99] [flexunit] localTrusted: [true] [flexunit ] player: [flash] [flexunit] port: [1024] [flexunit] swf: [D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf] [flexunit] timeout: [180000ms] [flexunit] toDir: [D:\workspaces\flex\projects\clx-satellite\deploy\flexUnit] [flexunit] サーバー プロセスのセットアップ中... [flexunit] サーバーの起動中... [flexunit] ポート [1024] でサーバー ソケットを開いています。[flexunit] クライアント接続を待機しています... [flexunit] OS: [Windows] [flexunit] プレーヤーの起動: [flexunit] 'rundll32' を引数で実行: [flexunit] 'url.dll,FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite \FlexUnit.swf' [flexunit] 実行可能ファイルと引数を囲む ' 文字は [flexunit] コマンドの一部ではありません。[flexunit] クライアントが接続されました。[flexunit] インバウンド バッファ サイズを [262144] バイトに設定します。[flexunit] データを受信しています ... [flexunit] テスト データの送信を開始するためにプレーヤーに確認を送信しています ... [フレックスユニット] [フレックスユニット] サーバーを停止しています ... [フレックスユニット] テスト データの終わりに達し、プレーヤーに確認を送信しています ... FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf' [flexunit] 実行可能ファイルと引数を囲む ' 文字は [flexunit] コマンドの一部ではありません。[flexunit] クライアントが接続されました。[flexunit] インバウンド バッファ サイズを [262144] バイトに設定します。[flexunit] データを受信しています ... [flexunit] テスト データの送信を開始するためにプレーヤーに確認を送信しています ... [フレックスユニット] [フレックスユニット] サーバーを停止しています ... [フレックスユニット] テスト データの終わりに達し、プレーヤーに確認を送信しています ... FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf' [flexunit] 実行可能ファイルと引数を囲む ' 文字は [flexunit] コマンドの一部ではありません。[flexunit] クライアントが接続されました。[flexunit] インバウンド バッファ サイズを [262144] バイトに設定します。[flexunit] データを受信しています ... [flexunit] テスト データの送信を開始するためにプレーヤーに確認を送信しています ... [フレックスユニット] [フレックスユニット] サーバーを停止しています ... [フレックスユニット] テスト データの終わりに達し、プレーヤーに確認を送信しています ... [flexunit] インバウンド バッファ サイズを [262144] バイトに設定します。[flexunit] データを受信しています ... [flexunit] テスト データの送信を開始するためにプレーヤーに確認を送信しています ... [フレックスユニット] [フレックスユニット] サーバーを停止しています ... [フレックスユニット] テスト データの終わりに達し、プレーヤーに確認を送信しています ... [flexunit] インバウンド バッファ サイズを [262144] バイトに設定します。[flexunit] データを受信しています ... [flexunit] テスト データの送信を開始するためにプレーヤーに確認を送信しています ... [フレックスユニット] [フレックスユニット] サーバーを停止しています ... [フレックスユニット] テスト データの終わりに達し、プレーヤーに確認を送信しています ...
File
-Class を使用しない単一のテストを含めると、テストは機能し、同様のエラー ( ReferenceError: Error #1065: Variable flash.desktop::NativeApplication is not defined.
) が発生しますが、少なくともテストは実行され、XML 出力が得られます。タスクで使用していますが、FlexUnit は実際には AIR と互換性がないように思えplayer=air
ます。
ANT を介して AIR アプリケーション (おそらくモバイル アプリケーション) の FlexUnit で単体テストを実行する実例を持っている人はいますか?
actionscript-3 - Flexunit 4.x はどこで入手できますか?
flexunit4.x が必要です。どなたでもダウンロードできる有効な URL を教えてください。また、チュートリアルの URL もあれば非常に便利です。
私のオンライン検索では、すべてのページが flexunit.org につながっていますが、これはもう機能していないようです。
unit-testing - FlexUnit はどこで入手できますか
簡単な質問ですが、実際に FlexUnit バイナリをダウンロードする場所はどこですか? 私が見つけた:
https://cwiki.apache.org/confluence/display/FLEX/FlexUnit+Getting+Started
と
https://github.com/flexunit/flexunit
最初のリンクは、存在しないように見える www.flexunit.com に移動します。
2 番目にはすべてのソース コードがありますが、ビルド手順はありません。
flash - FlexUnit テストが Jenkins で実行されない
ローカル ネットワークの jenkins サーバーを介して単体テストを行うフラッシュ アプリを構築しようとしています。私はそれをmavenアーティファクトとして設定し、flexmojos 6.0.1 mavenプラグインを使用してビルドしています。開発環境 (intelliJ) またはコマンドラインでローカルにビルドすると、すべてが問題なく動作するようです (単体テストも)。クライアントコンピューターとサーバーコンピューターの両方で試しました。どちらも完璧に機能します。しかし、ジェンキンスで作成したジョブを開始しようとすると、flexmojos は単体テストの実行に失敗し、Java エラーを返します:「タイムアウトを受け入れます」。単体テストを無効にすると、ジェンキンで適切にビルドされます。テストはflexunit 4を使用して書かれています。
私の推測では、jenkins は生成された testrunner.swf を Flash Player で開くことができず、それが原因で flexmojos がタイムアウトしたと考えられます。Flash Player exe は PATH で入手できます。
この問題についてもっと情報を見つけようとしてインターネットを検索しましたが、そこにはほとんど情報がないようです。Flexmojos は十分に文書化されているようには見えず、現在誰がプロジェクトを率いているのか (誰かいるとすれば?) も不明です。ただし、フラッシュを使用している場合は、非常に便利な maven プラグインです。
クライアントとサーバーの両方でウィンドウを使用していることに言及する必要があります。ジェンキンはヘッドレスサーバーではなく、Windowsでフラッシュを使用する方が簡単なので、Windowsで単体テストを実行するようにジェンキンをセットアップする方が簡単だと思いました。
ジェンキンスにflexmojosで単体テストを実行させようとして、同様の問題が発生した人はいますか?
flash - maven と flexmojos を使用してビルドしながら AIR アプリの flexunit4 テストを実行する
出来ますか?AIR は純粋なアクション スクリプト (flex なし) であるため、flexunit4 はテスト実行時に flex を使用してテストランナー SWF をビルドします。または、何か不足していますか?それ以外の場合、maven ビルドで flexmojos と一緒に使用できる他の単体テスト ライブラリはありますか?
flexmojos バージョン 6.0.1、flexunit 4.1.0、AIR sdk 19.0 を使用しています。何か案は?これと同様の設定で動作させることができた人はいますか?
eclipse - FlexUnitApplication.html および FlexUnitApplication.swf が生成されない
環境
私は持っている
- Eclipse Indigo サービス リリース 2のFlex-Java プロジェクト(Web アプリケーション)
プラグイン Flash-builder を使用して作業しています。
私はsdk 4.5.1を使用しています
私がやろうとしていること
1) FlexUnit4 で簡単なテスト ケースを作成しようとしています。新しいテストケースを作成するとき):新規>テストケースクラス、デフォルトでEclipseを作成:
- パッケージ flexUnitTests + 新しいテスト ケース: (例: TestDoc.as)
- byDefault を 1 つのファイルでパッケージ化: FlexUnitCompilerApplication.mxml
- FlexUnitCompilerApplication の html、swf ファイルが bin-debug フォルダに自動生成されます。
この時点まではすべて問題ないように見えるので、単体テストを実行してみます。
2) 単体テストを実行したい:
- FlexUnitApplication.mxml がデフォルト パッケージに作成されます
問題:
コンパイラはファイルを生成しません: FlexUnitApplication.hmtl および FlexUnitApplication.swf は bin-debug フォルダーにあります...
そして、「エラー画面」にエラーが書かれています:
- 説明 すべてのリソース「FlexUnitTestRunner」を解決できません
場所またはローカリゼーション : 不明
申し訳ありませんが、フランス語版から説明を翻訳しようとしています
その他の情報
他のプロジェクトでこれを行うことに成功しました... FlexUnitApplication ファイルは自動生成されます。
質問
この特定のプロジェクトで何かにバインドされているようです。これらのファイルを自動生成するプロセスを何かが妨げているのではないでしょうか?? 私はなぜそれを理解することはできませんか??
コンパイラにこれらのファイル (html および swf) を実行させることは可能ですか??
私は本当に迷っています..そして私は物事を試しました、私はメタデータのプロパティを調べました...私は本当に理解していません.
誰かがそのアイデアを持っているかもしれません。
前もって感謝します