複雑な科学計算を保持するクラスがあります。ユーザーのみが適切にインスタンス化されたケースを作成できるように設定されています。ただし、コードを適切にテストするには、内部状態変数を直接設定する必要があります。これは、リファレンス ドキュメントがテスト ケースでこのデータを提供しているためです。ただし、不適切に実行すると、状態が無効になる可能性があります。
したがって、単体テスト プログラムから内部変数を設定する機能 (メンバー関数) が必要です。ただし、通常のユーザーがこの関数を呼び出すことは強くお勧めしません。(はい、決心したユーザーは何でもいじることができます...しかし、何か間違ったことをする方法があると宣伝したくありません。)
たとえば、関数を表示しないように Intellisense に指示できると便利です。
現時点での最善の解決策は、関数に DangerousSet() のような名前を付けることです。
他にどのようなオプションがありますか?
ファローアップ
Amy B の回答が私の状況に最も役立つことがわかりました。ありがとう!
リフレクションを使用するという Mufasa の提案は素晴らしいものでしたが、(私にとっては) 実装が困難でした。
デコレーターを使用するという Chris の提案は良かったのですが、うまくいきませんでした。
XML に関する BFree の提案も優れており、すでに使用されていましたが、実際には問題を解決していません。
最後に、問題はソース ドキュメントにあるという BillTheLizard の提案は、私が制御できるものではありません。国際的な専門家は、コミュニティで使用するために高度な専門書や雑誌記事を発行しています。それらが私の特定のニーズに対応していないという事実は、人生の事実です. 単に代替文書はありません。