はじめに
本記事は どすこい塾 Advent Calendar 2025 の8日目の記事です。
昨日も @uhooi で 他リポジトリのGitHub Actionsを実行する方法 でした。
テストの関数名を日本語にしよう、という話です。
環境
- OS:macOS Sequoia 15.6(24G84)
- Swift:6.2.1
Swift 6.2から関数名に日本語などを使えるようになった
以前の記事で紹介した通り、Swift 6.2からバックティックで括ることで、 関数名などに様々な文字を含められるようになりました 。
@Test
func `1+1が2になる`() {
#expect(1 + 1 == 2)
}
「様々な文字」には日本語も含まれるので、この機能追加によりテストの関数名を日本語で書けるようになりました。
テストの関数名を日本語にするメリット・デメリット
テストの関数名を日本語にするメリットとデメリットを紹介します。
メリット1: 意味をわかりやすく伝えられる
日本語、かつ文章にすることで意味をわかりやすく伝えられます。
// Before
@Test(arguments: [
(0, 100),
(1, 99),
])
func aPlusBIs100OrMore(_ a: Int, _ b: Int) {
#expect(a + b >= 100)
}
// After
@Test(arguments: [
(0, 100),
(1, 99),
])
func `aとbの合計が100以上になる`(_ a: Int, _ b: Int) {
#expect(a + b >= 100)
}
よく「テストが仕様書の代わりになる」といいますが、読みづらかったら代わりになりづらいです。
本記事で最も伝えたいことは「 テストの関数名をわかりやすくしよう 」なので、プロジェクトによっては英語で記述してもいいと思います。
スペースが使えるので英語の文章も読みやすく書けるようになりました。
// After (English)
@Test(arguments: [
(0, 100),
(1, 99),
])
func `The sum of a and b is 100 or more`(_ a: Int, _ b: Int) {
#expect(a + b >= 100)
}
ちなみにプロポーザルでも最初にテストの関数名について書かれているので、本記事で説明している内容はRaw identifiersの意図した使い方です。
デメリット1: Swift 6.2未満でビルドが通らない
Swift 6.2からの機能を使っているので、当たり前ですがSwift 6.2未満ではビルドが通りません。
何らかの理由でSwiftのバージョンを上げられない場合はまだ使えません。
デメリット2: 何か関数名っぽくない
日本語やスペースが入ると、何となく関数名っぽくないと感じる人もいるかもしれません。
気持ちはわかりますが、徐々に慣れると思います。
おわりに
テストの関数名をわかりやすくして、プロダクトコードと同じように保守性を高めましょう ![]()
以上 どすこい塾 Advent Calendar 2025 の8日目の記事でした。
明日は未定です。