問題タブ [private-methods]
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 - Javascript で内部関数変数にアクセスする
多くのフレームワークでは、内部関数変数はプライベート変数として使用されます。たとえば、
ここではprivate
、最初の行の無名関数の内部変数であるため、グローバル名前空間から という名前の変数にアクセスできません。
この関数には、グローバル名前空間を汚染しないように、大きな Javascript フレームワークが含まれている場合があります。
一部のオブジェクトが内部で使用する単体テストを行う必要がありますRaphael
(上記の例では、 object に対して単体テストを実行したいと考えていますprivate
)。どうすればそれらをテストできますか?
編集:パブリック インターフェイスをテストすることになっている単体テストについてコメントを受け取りました。
ユースケースを指定しましょう。というライブラリを書いていますRaphael
。このライブラリは、単一の名前のみをグローバル名前空間に追加することになっています。Javascript には名前空間がないため、これは Javascript に固有の要件です。
Raphael
リンクされたリストを使用するとしましょう。Javascriptにパッケージの概念があれば、私はそうするでしょう
ただし、Javascript では、リンクされたリスト オブジェクトでグローバル スコープを汚染しないような方法でそれを行うことはできません! したがって、linked_list
Raphael のローカル スコープにインライン化する必要があります。
linked_list
そして今、実装をテストしたいと思います。
c++ - コピー コンストラクターとコピー代入がプライベートなオブジェクトの使用方法は?
TCPLを読んでいると、タイトルが示すように問題が発生し、「プライベート」クラスは次のようになります。
使用コードは次のとおりです。
そして、私はそのような操作を実行したい:
ただし、これらのコードはTCPLからのものですが、まだ解決策を得ることができません...誰か助けていただければ幸いです。
php - クラスの静的プライベート メソッドをコールバックとして使用することは可能ですか?
次の行を含むコードを見ました。
どこTextileParser::replaceAnchor()
にプライベート静的メソッドがあります。
python - Python のプライベート変数とメソッド
Python のプライベート メンバーとメソッドには、(_foo
アンダースコア) と(ダブル アンダースコア) のどちらを使用すればよいですか?__bar
ruby-on-rails - Rails search with texticle: プライベートメソッド `scan' が呼び出されました #
テンダーラブのテキスタイルで検索できるようにしたいレールアプリがあります。コンソールでは問題なく動作しますが、私のアプリでは次のようなエラーが発生します。
...
誰かが私を問題の根本に向けることができますか? ハマった...
ありがとう!
ヴァル
PS 12行目の奇妙な点は、paramsで検索しているため、使用しないでください....無効にすると、エラーは14行目を参照します
c# - Publicize.exe が「値を null にすることはできません。パラメータ名: interfaceType」というエラーで終了します。
Visual Studio 2010 を使用してプライベート アクセサー クラスを作成しようとしています。
Publicize.exe の戻り値は次のとおりです。
プロジェクトで internals と InternalVisibleTo を使用しています。おそらくそれが問題の原因ですか?
c++ - private メソッドの単体テスト
私はいくつかの単体テストを書いている最中です。特に、いくつかのプライベート メソッドをテストしたいと考えています。
これまでのところ、私は使用することを思いつきました。
しかし、単体テストの観点からすべてのカプセル化を破壊するので、これには満足していません。
プライベート メソッドの単体テストに使用するメソッド。
python - Pythonシェルから内部関数を呼び出すにはどうすればよいですか?
次の形式のコード(簡単に変更できない)があります。
bar()
Pythonシェルから直接呼び出したいと思います。co_globals
、または他の内部ビットを使用してもかまいません。これは不可能かもしれないと私は感じています。それは...ですか?
c - 構造体をプライベートセクションとパブリックセクションに分割しますか?
C++ および Java では、データ構造にprivate
、public
およびprotected
領域を含めることができます。この概念を、私が書いている C 言語プログラムに移植したいと思います。
C でプライベートまたは保護された関数ポインターとデータ フィールドを実装するためのイディオムはありますstruct
か?
私は Cstruct
が公開されていることを知っています。実装の詳細を隠し、ユーザーに公開インターフェースを使用させるのに役立つイディオムを探しています。
注: 言語はショップによって選択されているため、オブジェクト指向の概念を C に実装するのに行き詰まっています。
ありがとう。
c# - スレッド、イベント、およびプライベートメソッドを使用したクラスのテスト
一般的なコンセンサス
複雑なクラスとプライベートメソッドのテストについては、かなり多くのことを読みました。
一般的なコンセンサスは次のようです。
- 「プライベートメソッドをテストする必要がある場合は、クラスの設計が不適切です」
- 「クラスが複雑な場合は、それを分離する必要があります」
だから、私はあなたの助けが必要です。
問題のあるクラス
だから私は比較的単純なクラスを持っており、その長期的な仕事は次のとおりです。
- データソースをポーリングする
- データの非常に単純なマッピングを行う
- そのデータを別の場所に送信します
さらに:
- 特定のエラーが発生した場合にさまざまなタスクを再試行できるようにすることで、フォールトトレラントに対応できる必要があります。
テストの問題
このクラスのポイントは、フォールトトレランスとスレッド化の多くを抽象化することです...基本的には、単純なタイマークラスといくつかの内部リストを使用してエラーなどを追跡します。
タイマーのため、特定のメソッドは異なるスレッドで非同期に呼び出されます...さらに、多くのメソッドはグローバルプライベートフィールドに依存しています。
このクラスをどのようにテストする必要がありますか...特に非常に多くのメソッドがプライベートであるためですか?
みんな乾杯