問題タブ [data-driven]
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.
javascript - この多重ネストされた if else ブロックをリファクタリングする方法
この種の多重ネストされた if-else ブロックがあります。私の理解では、その必要性を排除してコードを削減するのに役立つ「データ駆動型」のアプローチがあるということですが、私はまだ大規模な方法で経験していないので、このコードのリファクタリングを手伝ってくれる人はいますか? 「データドリブン」アプローチで作業するには?
xml - xml と xslt で派生
xml と xslt を使用してシンボリック デリバタをコーディングする必要があります。そのため、xml で数学関数のツリーを作成し、xslt は関数の各式を導出する必要があります。例: "y = 2x^2 + 3x^5" したがって、"dy/dx= (2*2)x^(2-1) + (3*5)^(5-1) = 4x + 15x^4 xml は次のようになります。
私が抱えている問題は、変数 i を xslt で宣言したいので、expression[i]/sign="+" がチェーン ルールを実行し、i=i+1 で次の式に進むときに、これを実行できることです。ただし、for-each
expression[i]/sign="x" の場合、i=3 の場合は "expression[3] x expression[4]" であるため、積のルールを実行して i=i+2 の 2 つのステップをジャンプする必要があります。 、したがって、式[4]を再度導出したくありません。では、変数の値を変更できないため、どうすれば xslt でこれを行うことができますか? 4x^3(5x^2+2x^7) を表現したい場合は、xml 構造を変更する必要があります。xslt コードはどうすればよいでしょうか?
c# - ClassInitialize が TestMethod の前に実行されないのはなぜですか?
Visual Studio に C# テスト プロジェクトがあります。このプロジェクトの出力パスは、ソリューション レベルの bin ディレクトリである "..\bin\" に設定されます。私のプロジェクトには次のようなテストがあります。
このテストを正常に実行し、データソースとしてテスト結果を受け取りました。行番号ごとにテスト結果が表示されます。ただし、テスト ケースを再度正常に実行できませんでした。エラーが発生し始めました:
Result Message: The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library. Error details: Object reference not set to an instance of an object.
テストをデバッグしようとすると、TestMethod と ClassInitialize にブレークポイントを設定します。ただし、ClassInitialize メソッドはもう呼び出されていないようです。ClassInitialize メソッドがオプションでのみ呼び出される原因は何ですか? 私の理解では、テストメソッドが呼び出される前に常に呼び出され、失敗し始める前にこの作業が成功したこともわかりました。
これは一度成功したので、最初の成功した実行中に作成されたファイルが削除されることを期待して、再構築、ソリューションのクリーニング、VSの再起動、コンピューターの再起動などを試しました。ただし、テストは 1 回実行しただけで引き続き失敗します。
私は次のような質問を見てきました
- testmethod データが読み込まれる前に ClassInitialize を強制的に実行する
- ClassInitialize で生成されたデータ ドリブン テスト: Visual Studio 2012 では機能しなくなりました
問題をグーグルで検索すると、このトピックに関する共通のスレッドがあります。通常、提案は常にMSTestHacksの使用を中心に展開されます。ただし、この問題の具体的な原因は何かを知りたいです。サードパーティのライブラリを必要とせずにこれを機能させる app.config、ビジュアル スタジオ設定などはありますか。これがライブラリで機能するという事実は、この問題に対する答えがあることを示しています。おそらく、グーグルで見つけるのは簡単ではありません。
java - 複雑な列挙型の Junit テスト
さまざまな方法で提示できる列挙型があります。String、Integer、Double (異なる範囲)、Vector2D、最後に列挙値自体として。これは一般化された例であり、値は代表的なものではありません。私がこれを実際に使用しているのは、はるかに多くの値とメソッドがあります。
この列挙型を使用する他のクラスが正しく機能する列挙型で動作していることを確認するため。そのための包括的なテストセットを用意して、データ入力が正しく実行され、列挙型とそれに関連するデータが破損していないことを確認したいと考えています。
現在、5 つの列挙値を持つこの例には、31 のテストがあります。これのバージョンが最大 33 の列挙値になる必要があります。これは約200のテストです。
これにより、テストデータを目で簡単に確認できるようになるため、データ駆動型テストを使用できるようになることを望んでいました。
これを列挙型に設定する方法について誰か考えがありますか? 私が見つけたデータ駆動型テストのすべての例には、テストするメソッドが 1 つある単純なクラスがあります。
javascript - Update data in d3.js group
I create a group with data values:
If I want to update these values, do I need to set a new data array?
Or can I somehow iterate and update the values inside the group, like:
or
My use case is that I have a group with a rectangle and a circle. And the group has data in it.
Now I want to update the group color so the circle and rectangle also change color.