Active Directory に接続してユーザー アカウントを照会および操作するコードを作成しています。このコードにはテスト セットが含まれています。現在、自宅のマシンでこのソリューションを開発していますが、AD に対してテストするには、VPN 経由で会社のネットワークに接続する必要があります。私の自宅のマシンは会社のドメインにはありませんが、AD クエリを機能させるには、ドメイン アカウントで実行する必要があります。これを行う簡単な方法はありますか?それとも、会社のワークステーションにリモート接続してそこでテストを実行するか、個人のマシンを会社のドメインに追加する唯一の簡単なオプションですか?
1 に答える
私はADの実際の経験はありませんが、これはまったく問題ではありません。実際、これは私の主張を証明するのに役立ちます。
グループ内のすべてのユーザーを返すメソッドがあるとしましょう。私が自分自身である場合に開発していたコードでは、これを自分のインターフェイスの背後に抽象化します。例えば:
public class UserGroupFinder : IGroupFinder
{
public Users FindBy(Group group)
{
// Code to interact with AD here
// Note, Users and Group would be my own classes, not AD.
}
}
次に、実際の本格的なADシステムではなく、IGroupFinderに対して問題のアプリケーションを作成します。これは、その事実のために、自宅、オフィス、またはどこからでも単体テスト(または他の自動テスト)を作成できることを意味します!
グループのすべてのユーザーが見つかったら、コードが「正しいことをする」限り、問題はありません。たとえば、「F」で始まる名前を持つすべてのユーザーに対して、このクエリの結果をフィルタリングできます。これはドメインロジックであり、ActiveDirectoryとは関係ありません。サードパーティとのやり取りに必要なコードではなく、これを試乗します。
最後のステップは、ドメインオブジェクトの具体的なインスタンスを実際に作成することです。したがって、ADが構成されているシステムができたら、実際にこれらの実装を接続し始めることができます。この定義では、これは単体テストではないため、単体テストは行いません。このコードは、Microsoftによってテストされるサードパーティのコードへの呼び出しにすぎません。