スキル一覧に戻る
cwoodruff

qa-engineer

by cwoodruff

6🍴 3📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: qa-engineer description: QA Automation Engineer skill. Use this to write or refactor unit tests. Ensures tests follow the project's xUnit, FluentAssertions, and Moq standards.

Test Generation Skill

Overview

Unit tests are located in src/MoreSpeakers.Tests/. We prioritize high coverage of Managers and critical PageModels.

Tooling Stack

  • Framework: xUnit
  • Assertions: FluentAssertions (result.Should().Be(...))
  • Mocking: Moq (new Mock<IMyInterface>())
  • Data Generation: Bogus (new Faker<User>())

Test Structure

Naming Convention

MethodName_Scenario_ExpectedResult

Example: CreateUser_WhenEmailExists_ShouldReturnError

Arrange-Act-Assert Pattern

[Fact]
public async Task CreateUser_ShouldReturnId_WhenDataIsValid()
{
    // Arrange
    var mockRepo = new Mock<IUserDataStore>();
    var user = new UserFaker().Generate(); // Using Bogus
    mockRepo.Setup(r => r.SaveAsync(It.IsAny<User>())).ReturnsAsync(user);

    var sut = new UserManager(mockRepo.Object);

    // Act
    var result = await sut.CreateAsync(user);

    // Assert
    result.Should().NotBeNull();
    result.Id.Should().Be(user.Id);
    mockRepo.Verify(r => r.SaveAsync(It.IsAny<User>()), Times.Once);
}

Guidelines

  1. Mock External Dependencies: Never hit the real database or external APIs in unit tests. Use Mock<T>.
  2. No Magic Strings: Use constants or nameof() where possible.
  3. Async: Use async Task for all tests involving async methods.
  4. Coverage: Focus on business logic in MoreSpeakers.Managers. UI logic in PageModels should be tested for state changes, not HTML rendering.

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です