6

プログラムで .reg ファイルをレジストリにマージする最良の方法は何ですか? これは単体テスト用です。.reg ファイルは、テストの開始時と終了時に追加されて削除されるテスト アーティファクトです。

または、レジストリに対して単体テストを行うためのより良い方法があれば...

4

5 に答える 5

8

.reg ファイルを使用してレジストリ キーを削除することは可能ですが、それがどの程度文書化されているかはわかりません。方法は次のとおりです。

REGEDIT4

[-HKEY_CURRENT_USER\Software\<otherpath>]

-キー名の前にある は、キーをRegedit削除することを示しています。

これをサイレント モードで実行するには、次のように入力します。

regedit /s "myfile.reg"
于 2008-08-29T19:53:11.507 に答える
5

あなたが砲撃しているなら、regコマンドを使用します(詳細は以下)。使用している言語を教えていただければ、言語固有のコードを提供できます。

C:>reg /?

REG演算【パラメータ一覧】

オペレーション [ クエリ | ] 追加 | 削除 | コピー | 保存 | ロード | アンロード | 復元 | 比較 | 輸出 | インポート | フラグ]

戻りコード: (REG COMPARE を除く)

0 - 成功 1 - 失敗

特定の操作タイプに関するヘルプ:

REG ADD /? REG DELETE /? [抜粋]

于 2008-09-09T22:09:32.053 に答える
2

ファイルの関連付けをチェックして調べました。

.reg ファイルは、regedit.exeWindows の実行可能ファイルの最初のパラメーターとして呼び出されているようです。

だからあなたはただ言うことができますregedit.exe "mytest.reg"。よくわからないのは、確認を求めるダイアログ ボックスがポップアップ表示されないようにする方法です。

于 2008-08-29T19:21:20.023 に答える
1

Win32 API 関数の ShellExecute() または ShellExecuteEx() を使用します。コメントが「open」の場合、.reg ファイルをマージする必要があります。私はそれをテストしていませんが、動作するはずです。

于 2008-08-29T19:24:06.773 に答える
0

単体テストを書く上で最もイライラすることの 1 つは、依存関係の処理です。テスト駆動開発の最大の利点の 1 つは、依存関係から切り離されたコードを生成することです。かっこいいでしょ?

このような質問をするときは、書いているコードを依存関係から切り離す方法を探します。テストしたい複雑さからレジストリの読み取りを分離します。

于 2008-09-09T22:05:11.690 に答える