単体テストは、通常自動化されているが、手動で実行されることもある。IEEEは、どちらかが片方より優れているとはしていない。  手動による単体テストではステップ·バイ·ステップの手順書を利用することがある。とはいえ、単体テストをする目的は、ユニットを分離し、その正しさを検証することである。自動化は、これを達成するための効率が高く、本項に記載されている多くの利点を備える。逆に、慎重に計画されていないと、注意を欠いた手動の単体テストケースでは、多くのソフトウェア·コンポーネントを含む統合テストケースとして実行されて、その結果、全部でないにしても、大部分、本来単体テストで達成されるべき目標に達しない可能性がある。自動化アプローチを使用しながらも、独立効果を完全に実現するために、テスト対象ユニットやコード本体は、その自然環境の外のフレームワーク内で実行される。換言すれば、元々作成された製品または呼び出し元のコンテキストの外で実行される。そのような独立した形でのテストでは、テスト対象コードと他のユニットや製品内のデータ·スペースの間の不要な依存関係が明らかになる。依存関係は、その後、除去することができる。自動化フレームワークを使用しながら、開発者はユニットの正しさを検証するために、基準をコード内に反映させる。テストケースの実行時には、フレームワークのログ中に、基準に満たないテストが記録される。多くのフレームワークは自動的に失敗したテストケースにフラグを立て、まとめて報告する。障害の重症度に応じて、フレームワークは、後続のテストを停止する場合がある。結果として、伝統的に単体テストはプログラマに、分離され、 凝集したコード本体を作成する動機づけとなる。これを常に行えば、ソフトウェア開発における健全な習慣がつくられる。デザインパターン、単体テスト、リファクタリングを組み合わせれば、最善の解決策が出るようになる。
単体テストは、エクストリーム・プログラミングの基礎となるもので、それは自動化ユニット·テスト·フレームワークに依存している。この自動化ユニット·テスト·フレームワークは、xUnitのようなサードパーティ製、あるいは、開発グループ内で自作することができる。エクストリームプログラミングはテスト駆動開発での単体テストの作成​​を利用している。開発者は、ソフトウェア要件、または欠陥を暴露する単体テストを書く。要件がまだ実装されていないか、意図的に既存のコードの欠陥を暴露するため、このテストは失敗する。そして、開発者は、そのテストと他のテストにパスするような最も簡単なコードを書く。システム内のほとんどのコードは、単体テストが実施されるが、コード中のすべてのパスである必要はない。エクストリームプログラミングは従来の 「すべての実行パスをテストする」方法よりも、 「失敗する可能性があるすべてのテストを実行する」戦略を義務付けている。これにより、開発者が従来の方法よりも少ないテストプログラムを開発することにつながるが、古典的な方法においては、すべての実行パスが完全にテストされるほど十分念入りに実施されないため、これは大きな問題でなく、事実の言い換えである。  エクストリームプログラミングというのは、テストが（しばしば高価すぎて時間がかかり経済的に実施可能でないため）、いかにして効果的に限られた資源を集中するかについて基本的な考え方を示している。重要なのは、テストコードは、重複を全て取り払い実装コードと同じ品質に維持されている点で、第一級のプロジェクト成果物であるという考えである。開発者は、テスト対象コードと対でコードリポジトリに単体テストコードを公開する。エクストリームプログラミングの徹底した単体テストの利点は、上記で述べたように、より簡単で、より自信があるコード開発とリファクタリング 、コード統合の容易化、正確なドキュメンテーション、モジュール化の高い設計である。これらの単体テストはまた、回帰テストとして頻繁に実行される。単体テストはまた、 創発的設計の概念の重要な要素である。創発的設計はリファクタリングに大きく依存しているので、単体テストもまた不可欠な要素である。
パラメータ化された単体テスト（PUT：Parameterized Unit Testing）はパラメータが必要なテストである。通常の単体テストは、閉じたメソッドであるが、PUTはいかなるパラメータも取りうる。PUTはJUnit 4と様々な.NETテストフレームワークによってサポートされてきた。単体テストに適したパラメータは手作業で作成、あるいは、テストフレームワークにより自動生成される場合もある。QuickCheckのようなテスト入力を生成する商用テストツールも多い。
290年4月、司馬炎が崩御し、子の司馬衷（恵帝）が後を継いだ。291年8月、征東将軍・都督徐兗二州諸軍事に任じられた。9月、征西大将軍・都督雍梁二州諸軍事に進んで関中の守備を命じられ、開府儀同三司の特権を与えられた。294年、司馬倫の刑賞は不公平であったので、関中を混乱させて氐・羌の反乱を招いてしまい、その結果匈奴の郝度元は馮翊や北地にいる馬蘭羌・盧水胡（いずれも異民族の名称）と共に挙兵し、北地郡太守張損を殺して馮翊太守欧陽建の軍を撃破した。司馬倫は雍州刺史解系と共にこれの討伐に当たった。だが、司馬倫は傲慢であり、軍備を整える事もなく功績を立てる事も出来なかったという。296年5月、司馬倫は解系と軍事作戦について論争となり、互いに朝廷へ作戦案を奏上した。この時、欧陽建が司馬倫の失政を批難する上書を行っていた事もあり、朝廷は司馬倫が関中を乱したと判断して解系を支持し、司馬倫を更迭して代わりに梁王司馬肜（司馬倫の兄）を征西大将軍・都督雍涼二州諸軍事に任じた。司馬倫は側近の孫秀を信任しており、彼の行動はその孫秀の進言によるものであったので、解系は弟の解結と共に、孫秀を処刑して挙兵した氐・羌に謝罪するべきだと主張したが、容れられなかった。その後、司馬倫は洛陽に召喚され、車騎将軍・太子太傅に任じられた。また、時期は不明だが右軍将軍にも任じられている。司馬倫は洛陽に帰還すると、当時権勢を誇っていた賈謐を始めとした賈氏一派に取り入り、皇后賈南風やその母郭槐に信任されて中宮に出入りするようになった。また、司馬倫は録尚書事や尚書令の地位を賈謐らに求めたが、張華と尚書裴頠は共にこれに反対したので、司馬倫らは張華を強く憎んだ。張華もまた司馬倫らが変事を起こすのを恐れ、武庫で火事が起こった時は兵を配置して守備を固めてから火事の消火に当たる程であった。297年、司馬倫は以前からの恨みから解系を讒言し、解系は陥れられて免官となった。