問題タブ [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.

0 投票する
4 に答える
3831 参照

javascript - Javascript で内部関数変数にアクセスする

多くのフレームワークでは、内部関数変数はプライベート変数として使用されます。たとえば、

ここではprivate、最初の行の無名関数の内部変数であるため、グローバル名前空間から という名前の変数にアクセスできません。

この関数には、グローバル名前空間を汚染しないように、大きな Javascript フレームワークが含まれている場合があります。

一部のオブジェクトが内部で使用する単体テストを行う必要がありますRaphael(上記の例では、 object に対して単体テストを実行したいと考えていますprivate)。どうすればそれらをテストできますか?

編集:パブリック インターフェイスをテストすることになっている単体テストについてコメントを受け取りました。

ユースケースを指定しましょう。というライブラリを書いていますRaphael。このライブラリは、単一の名前のみをグローバル名前空間に追加することになっています。Javascript には名前空間がないため、これは Javascript に固有の要件です。

Raphaelリンクされたリストを使用するとしましょう。Javascriptにパッケージの概念があれば、私はそうするでしょう

ただし、Javascript では、リンクされたリスト オブジェクトでグローバル スコープを汚染しないような方法でそれを行うことはできません! したがって、linked_listRaphael のローカル スコープにインライン化する必要があります。

linked_listそして今、実装をテストしたいと思います。

0 投票する
6 に答える
307 参照

c++ - コピー コンストラクターとコピー代入がプライベートなオブジェクトの使用方法は?

TCPLを読んでいると、タイトルが示すように問題が発生し、「プライベート」クラスは次のようになります。

使用コードは次のとおりです。

そして、私はそのような操作を実行したい:

ただし、これらのコードはTCPLからのものですが、まだ解決策を得ることができません...誰か助けていただければ幸いです。

0 投票する
2 に答える
545 参照

php - クラスの静的プライベート メソッドをコールバックとして使用することは可能ですか?

次の行を含むコードを見ました。

どこTextileParser::replaceAnchor()にプライベート静的メソッドがあります。

0 投票する
4 に答える
125404 参照

python - Python のプライベート変数とメソッド

重複の可能性:
Python でのオブジェクト名の前の単一アンダースコアと二重アンダースコアの意味

Python のプライベート メンバーとメソッドには、(_fooアンダースコア) と(ダブル アンダースコア) のどちらを使用すればよいですか?__bar

0 投票する
1 に答える
533 参照

ruby-on-rails - Rails search with texticle: プライベートメソッド `scan' が呼び出されました #

テンダーラブのテキスタイルで検索できるようにしたいレールアプリがあります。コンソールでは問題なく動作しますが、私のアプリでは次のようなエラーが発生します。

...

誰かが私を問題の根本に向けることができますか? ハマった...

ありがとう!

ヴァル

PS 12行目の奇妙な点は、paramsで検索しているため、使用しないでください....無効にすると、エラーは14行目を参照します

0 投票する
1 に答える
461 参照

c# - Publicize.exe が「値を null にすることはできません。パラメータ名: interfaceType」というエラーで終了します。

Visual Studio 2010 を使用してプライベート アクセサー クラスを作成しようとしています。

Publicize.exe の戻り値は次のとおりです。

プロジェクトで internals と InternalVisibleTo を使用しています。おそらくそれが問題の原因ですか?

0 投票する
8 に答える
86243 参照

c++ - private メソッドの単体テスト

私はいくつかの単体テストを書いている最中です。特に、いくつかのプライベート メソッドをテストしたいと考えています。

これまでのところ、私は使用することを思いつきました。

しかし、単体テストの観点からすべてのカプセル化を破壊するので、これには満足していません。

プライベート メソッドの単体テストに使用するメソッド。

0 投票する
1 に答える
2171 参照

python - Pythonシェルから内部関数を呼び出すにはどうすればよいですか?

次の形式のコード(簡単に変更できない)があります。

bar()Pythonシェルから直接呼び出したいと思います。co_globals、または他の内部ビットを使用してもかまいません。これは不可能かもしれないと私は感じています。それは...ですか?

0 投票する
5 に答える
15958 参照

c - 構造体をプライベートセクションとパブリックセクションに分割しますか?

C++ および Java では、データ構造にprivatepublicおよびprotected領域を含めることができます。この概念を、私が書いている C 言語プログラムに移植したいと思います。

C でプライベートまたは保護された関数ポインターとデータ フィールドを実装するためのイディオムはありますstructか? 私は Cstructが公開されていることを知っています。実装の詳細を隠し、ユーザーに公開インターフェースを使用させるのに役立つイディオムを探しています。

注: 言語はショップによって選択されているため、オブジェクト指向の概念を C に実装するのに行き詰まっています。

ありがとう。

0 投票する
2 に答える
259 参照

c# - スレッド、イベント、およびプライベートメソッドを使用したクラスのテスト

一般的なコンセンサス

複雑なクラスとプライベートメソッドのテストについては、かなり多くのことを読みました。

一般的なコンセンサスは次のようです。

  • 「プライベートメソッドをテストする必要がある場合は、クラスの設計が不適切です」
  • 「クラスが複雑な場合は、それを分離する必要があります」

だから、私はあなたの助けが必要です。

問題のあるクラス

だから私は比較的単純なクラスを持っており、その長期的な仕事は次のとおりです。

  • データソースをポーリングする
  • データの非常に単純なマッピングを行う
  • そのデータを別の場所に送信します

さらに:

  • 特定のエラーが発生した場合にさまざまなタスクを再試行できるようにすることで、フォールトトレラントに対応できる必要があります。

テストの問題

このクラスのポイントは、フォールトトレランスとスレッド化の多くを抽象化することです...基本的には、単純なタイマークラスといくつかの内部リストを使用してエラーなどを追跡します。

タイマーのため、特定のメソッドは異なるスレッドで非同期に呼び出されます...さらに、多くのメソッドはグローバルプライベートフィールドに依存しています。

このクラスをどのようにテストする必要がありますか...特に非常に多くのメソッドがプライベートであるためですか?

みんな乾杯