2

C++でのテスト駆動開発にXCodeを使用しています。

保存するたびにXCodeがテストを自動的にビルドして実行できれば、多くの時間を節約できると思いました。

これを行う方法はありますか(XCodeをスクリプト化するなどして)?グーグルは手がかりを持っていないようです。

インタプリタ言語を使用するときにこのワークフローを見てきましたが、実際に生産性が向上します。

私のマシンが数秒でテストをビルドして実行するのに十分な速度であると仮定しましょう。

4

3 に答える 3

1

C ++をターゲットにしている場合は、おそらく運が悪いでしょう。

Objective-Cには、«Injection»というプロジェクトがあります:http:
//injectionforxcode.com/

プロジェクトファイルへの変更を追跡し、変更が発生すると、ファイルをカテゴリとして再構築し、バンドル内に配置します。

次に、バンドルが実行中のアプリに動的に読み込まれ、カテゴリのコンテンツが実行中のコードに置き換わります。

しかし、それはObjective-Cです。C ++には、そのようなランタイムと機能はありません。とにかく、あなたはそれを見てみたいかもしれません... :)

于 2012-07-25T22:43:25.383 に答える
0

自動的?番号。独自のfseventモニターエージェントを作成できます。再構築が必要な変更が発生した場合は、適切な操作を行ってください。

これを回避する簡単な方法:ビルド時に保存するようにxcodeを構成できます。明示的に保存する必要はありません。この設定を有効にして実行を押すだけです。その意味で、実行を押すのは保存を押すのと同じくらい簡単で、実行を押すと正しい順序で保存、ビルド、実行を実行します。このための中間ターゲットまたはスキームが必要になる場合があります。

別のオプションは、テストのビルドと実行のトリガーとしてvc commitを使用することです(コメントを参照してください:ブランチを使用してください)。

于 2012-07-25T22:28:06.677 に答える
0

いいえ、これはできないと思います。

ほとんどのプロジェクトは、とにかくすべての保存で(つまり、Xcodeが自動保存するたびに)実行するのに実用的であるために必要な数分の1秒でビルドおよびテストを行いません。

Xcodeのライブエラーと警告を取得するために、インフラストラクチャに多くの作業が費やされました。プロジェクトがそれほど奇妙でない限り、これらのライブエラーは、とにかく実際にプロジェクトを構築するためのかなり良いプロキシを提供するはずです。

テストでは、継続的インテグレーションをまだ使用していない場合は、継続的インテグレーションを検討することをお勧めします。


自動保存の前に成長した灰色のひげは、手動で保存するためにキーコマンドを時々使用する習慣を発達させた可能性があります。このようなユーザーは、手動で保存するために使用するキーコマンドをテストを実行するキーコマンドに置き換えることで、その習慣を変えることができる場合があります。

于 2012-07-25T22:13:18.220 に答える