Skip to content

Prepare documentation#262

Open
piotrzajac wants to merge 9 commits intomasterfrom
feature/docs
Open

Prepare documentation#262
piotrzajac wants to merge 9 commits intomasterfrom
feature/docs

Conversation

@piotrzajac
Copy link
Copy Markdown
Collaborator

@piotrzajac piotrzajac commented Jul 7, 2025

Summary by CodeRabbit

  • Documentation

    • Added comprehensive docs: attributes overview, detailed references, usage examples, customization options, tips and supported mocking libraries.
    • Added site configuration and navigation for the documentation.
    • Updated README with corrected framework URL.
  • Chores

    • Added automated docs build-and-deploy workflow and adjusted CI triggers to avoid unnecessary runs on docs-only changes.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jul 7, 2025

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 29eaecca-fb69-42cd-8c02-e5c8f157a4e5

📥 Commits

Reviewing files that changed from the base of the PR and between b937bee and 91e6cbe.

📒 Files selected for processing (1)
  • README.md
✅ Files skipped from review due to trivial changes (1)
  • README.md

📝 Walkthrough

Walkthrough

Adds comprehensive documentation for AutoFixture.XUnit2.AutoMock attributes, examples, and tips; introduces MkDocs site configuration and new GitHub Actions for building/deploying docs; and narrows CI/CD triggers to avoid running on certain docs-related file changes.

Changes

Cohort / File(s) Summary
Docs — Index & Overview
docs/index.md, docs/supported-mocking-libraries.md, mkdocs.yml
Adds site entry, supported mocking libraries list, and MkDocs site configuration/navigation.
Docs — Attributes (overview)
docs/attributes/index.md
Adds attributes overview and navigation entry.
Docs — Test Method Attributes
docs/attributes/auto-mock-data-attribute.md, docs/attributes/inline-auto-mock-data-attribute.md, docs/attributes/member-auto-mock-data-attribute.md
New docs describing AutoMockData, InlineAutoMockData, and MemberAutoMockData usage and options (e.g., IgnoreVirtualMembers, ShareFixture).
Docs — Parameter Customization
docs/attributes/customize-with-attribute.md, docs/attributes/customize-with-t-attribute.md
Adds CustomizeWith docs and generic variant; documents customization examples and introduces new public classes for the generic example (EmptyCollectionCustomization, EmptyCollectionAttribute).
Docs — Parameter Controls
docs/attributes/ignore-virtual-members-attribute.md, docs/attributes/except-attribute.md
Documents IgnoreVirtualMembers and Except attributes and their parameter-scoped behaviors.
Docs — Data Filtering Attributes
docs/attributes/pick-from-range-attribute.md, docs/attributes/pick-from-values-attribute.md, docs/attributes/pick-negative-attribute.md
Adds docs describing range, value-picking, and negative-value constraints with examples and caveats.
Docs — Tips
docs/tips-and-tricks.md
Adds practical tips for fixture injection and interactions with virtual/interface members.
CI/CD — Workflow adjustments
.github/workflows/cicd.yml
Modifies CI/CD triggers to ignore mkdocs.yml and .github/workflows/docs.yml so docs-only changes don't run the main pipeline.
CI/CD — Docs workflow
.github/workflows/docs.yml
Adds a new GitHub Actions workflow to build (mkdocs) and deploy documentation (artifact upload + GitHub Pages deploy) with a build and deploy job.
Repository docs
README.md
Updates xUnit2 reference URL.

Sequence Diagram(s)

mermaid
sequenceDiagram
participant Trigger as "Push/PR / Manual"
participant Runner as "GitHub Actions Runner"
participant Repo as "Repository (checkout)"
participant Python as "Python 3.11 env"
participant MkDocs as "mkdocs build"
participant Artifact as "Upload artifact"
participant DeployJob as "Deploy job (master only)"
participant Pages as "GitHub Pages"

Trigger->>Runner: start docs workflow
Runner->>Repo: checkout repository
Runner->>Python: setup Python 3.11
Runner->>MkDocs: pip install mkdocs-material\nmkdocs build
MkDocs-->>Artifact: generated site
Runner->>Artifact: upload artifact
Artifact->>DeployJob: artifact available (if master)
DeployJob->>Pages: deploy artifact to GitHub Pages
Pages-->>Trigger: publish URL

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

In a burrow of bytes I hop and write,
New pages to guide you through testing night.
Mocks and attributes, a carrot of clues,
Build the docs, deploy — watch the rabbit muse. 🐇📚

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is entirely missing; no description was provided by the author despite the repository template requiring a summary and checklist. Add a comprehensive description explaining the documentation additions, link any related issues, add a label, and complete the required checklist items to verify compliance with project standards.
Title check ❓ Inconclusive The title 'Prepare documentation' is vague and generic, using non-descriptive language that doesn't convey specific information about what documentation changes were made. Replace with a more specific title that describes the main documentation changes, such as 'Add documentation for AutoFixture.XUnit2.AutoMock attributes and setup' or 'Initialize MkDocs site configuration and add attribute documentation'.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/attributes/inline-auto-mock-data-attribute.md (1)

7-8: Mirror the updated wording from AutoMockData for consistency

Same phrasing tweak as suggested in auto-mock-data-attribute.md:

-`IgnoreVirtualMembers` - disables generation of members marked as `virtual`; by default set to `false`
+`IgnoreVirtualMembers` – disables population of members marked as `virtual` (default: `false`)
🧹 Nitpick comments (15)
docs/attributes/pick-negative-attribute.md (1)

5-5: Replace “being used on” with concise wording

“when being used on” reads awkwardly; “when used on” is shorter and clearer.

docs/attributes/pick-from-range-attribute.md (1)

3-3: State whether the range is inclusive or exclusive

The sentence claims “values from a specified range” but the example asserts > 11 and < 19, implying exclusivity. Explicitly clarifying the contract avoids confusion for readers.

docs/attributes/pick-from-values-attribute.md (1)

11-12: Assert.Equivalent requires .NET 8; mention the requirement or use a more widely-available helper

Teams still on earlier TFMs won’t compile this snippet. Either note the minimum framework or fall back to Assert.Subset or a loop for compatibility.

docs/attributes/except-attribute.md (1)

3-3: Rephrase for clarity

“Ensures that values from outside the specified list will be generated” double-negatives itself. Consider:

“Ensures that generated values exclude the specified list.”

docs/supported-mocking-libraries.md (1)

5-7: Fix minor URL inconsistency

Row 7 omits the trailing slash in the NuGet URL (…/AutoFakeItEasy) while the other rows include it. Aligning the style prevents unnecessary redirects and keeps the table uniform.

docs/index.md (1)

3-3: Hyphenate compound adjective & streamline the intro sentence

Minor editorial tweaks for clarity and style:

-AutoFixture.XUnit2.AutoMock is a free, open source tool which accelerates preparation of mocked structures for unit tests under [XUnit2](http://xunit.github.io/) by configuring [AutoFixture](https://github.com/AutoFixture/AutoFixture) data generation to use a mocking library of your choice. Gracefully handles recursive structures by omitting recursions.
+AutoFixture.XUnit2.AutoMock is a free, open-source tool that accelerates the preparation of mocked objects for unit tests using [xUnit.net](https://xunit.net/) by configuring [AutoFixture](https://github.com/AutoFixture/AutoFixture) to work with the mocking library of your choice. It gracefully handles recursive structures by omitting recursions.
docs/attributes/auto-mock-data-attribute.md (1)

7-8: Tighten wording of the IgnoreVirtualMembers bullet

-`IgnoreVirtualMembers` - disables generation of members marked as `virtual`; by default set to `false`
+`IgnoreVirtualMembers` – disables population of members marked as `virtual` (default: `false`)
docs/attributes/index.md (1)

12-12: Escape generic type brackets for Markdown safety

Some Markdown renderers treat <T> as an HTML tag and drop it. Keeping the back-slash escape inside the link text avoids surprises:

-[CustomizeWith\<T>](customize-with-t-attribute.md): Generic version of CustomizeWith for ease of use.
+[CustomizeWith\\<T>](customize-with-t-attribute.md): Generic version of `CustomizeWith` for ease of use.
docs/attributes/member-auto-mock-data-attribute.md (1)

13-13: Add comma after conjunctive adverb

-**Caution:** The property is completely enumerated by .ToList() before any test is run. Hence it should return independent object sets.
+**Caution:** The property is completely enumerated by `.ToList()` before any test is run. Hence, it should return independent object sets.
docs/attributes/ignore-virtual-members-attribute.md (2)

5-5: Grammar – replace “allows to disable” with “allows disabling”.

-This attribute allows to disable the generation of members marked as `virtual` on a decorated type whereas `IgnoreVirtualMembers` arguments of mocking attributes mentioned above disable such a generation for all types created by `IFixture`.
+This attribute allows disabling the generation of members marked as `virtual` on the decorated type, whereas the `IgnoreVirtualMembers` argument on the mocking attributes mentioned above disables such generation for all types created by the `IFixture`.

7-8: Clarity – re-phrase the “Caution” sentence.

The current wording is hard to parse.

-**Caution:** Order is important! Applying `IgnoreVirtualMembers` attribute to the subsequent parameter makes preceding parameters of the same type to have `virtual` properties populated and the particular parameter with the following ones of the same type to have `virtual` properties unpopulated.
+**Caution:** Order is important. If you apply the `IgnoreVirtualMembers` attribute to a parameter, all *preceding* parameters of the same type still have their `virtual` properties populated, while the decorated parameter—and any *subsequent* parameters of that type—have those properties left unpopulated.
docs/tips-and-tricks.md (2)

5-5: Preposition fix – “into a test method”.

-You can inject the same instance of `IFixture` to a test method by adding the mentioned interface as an argument of the test method.
+You can inject the same instance of `IFixture` into a test method by adding the interface as a parameter to the method.

34-34: Grammar & punctuation tweaks.

-You can see that only `Substitute` property has been explicitly marked as `virtual`. In such a situation, *the compiler* will mark other properties as `virtual` and `sealed`. And finally [AutoFixture](https://github.com/AutoFixture/AutoFixture) will assign `null` value to those properties when option `IgnoreVirtualMembers` is set to `true`.
+Only the `Substitute` property is explicitly marked as `virtual`. In this situation, *the compiler* marks the remaining properties as `virtual` **and** `sealed`. Consequently, [AutoFixture](https://github.com/AutoFixture/AutoFixture) assigns `null` to those properties when the `IgnoreVirtualMembers` option is set to `true`.
docs/attributes/customize-with-attribute.md (1)

9-10: Clarity – streamline the “Caution” sentence.

-**Caution:** Order is important! Applying `CustomizeWith` attribute to the subsequent parameter makes preceding parameters of the same type to be created without specified customization and the particular parameter with the specified customization.
+**Caution:** Order is important. If you apply the `CustomizeWith` attribute to a parameter, all preceding parameters of the same type are created without the customization, while the decorated parameter (and any following parameters of that type) use it.
docs/attributes/customize-with-t-attribute.md (1)

1-3: Minor: escape the generic marker only once.

The heading renders \<T> literally in Markdown viewers. Remove escape to render “<T>”.

-# CustomizeWith\<T> Attribute
+# CustomizeWith<T> Attribute
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between da942a4 and a413ae9.

📒 Files selected for processing (14)
  • docs/attributes/auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/customize-with-attribute.md (1 hunks)
  • docs/attributes/customize-with-t-attribute.md (1 hunks)
  • docs/attributes/except-attribute.md (1 hunks)
  • docs/attributes/ignore-virtual-members-attribute.md (1 hunks)
  • docs/attributes/index.md (1 hunks)
  • docs/attributes/inline-auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/member-auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/pick-from-range-attribute.md (1 hunks)
  • docs/attributes/pick-from-values-attribute.md (1 hunks)
  • docs/attributes/pick-negative-attribute.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/supported-mocking-libraries.md (1 hunks)
  • docs/tips-and-tricks.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/supported-mocking-libraries.md

[style] ~7-~7: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 1426 characters long)
Context: .../github.com/FakeItEasy/FakeItEasy) | [AutoFakeItEasy![Downloads](https://img.shields.io/nuget...

(EN_EXCESSIVE_EXCLAMATION)

docs/index.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... AutoFixture.XUnit2.AutoMock is a free, open source tool which accelerates preparation of m...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

docs/attributes/member-auto-mock-data-attribute.md

[uncategorized] ~13-~13: A comma may be missing after the conjunctive/linking adverb ‘Hence’.
Context: ...ed by .ToList() before any test is run. Hence it should return independent object set...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)

docs/attributes/ignore-virtual-members-attribute.md

[grammar] ~5-~5: Did you mean “disabling”? Or maybe you should add a pronoun? In active voice, ‘allow’ + ‘to’ takes an object, usually a pronoun.
Context: ...ce of that type. This attribute allows to disable the generation of members marked as `vi...

(ALLOW_TO)


[uncategorized] ~5-~5: Possible missing comma found.
Context: ...bers marked as virtual on a decorated type whereas IgnoreVirtualMembers argument...

(AI_HYDRA_LEO_MISSING_COMMA)

docs/tips-and-tricks.md

[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...et; set; } } ``` You can see that only Substitute property has been explicitly...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~34-~34: Possible missing comma found.
Context: ...operties as virtual and sealed. And finally [AutoFixture](https://github.com/AutoFi...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...n null value to those properties when option IgnoreVirtualMembers is set to true...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🔇 Additional comments (2)
docs/attributes/pick-negative-attribute.md (1)

8-14: Check if [AutoMockData] should be used instead of [AutoData]

Most examples in this repo leverage the Auto‐Mock integration attribute.
If that convention applies here, switching to [AutoMockData] will improve consistency and ensure mocks are injected.

docs/attributes/pick-from-range-attribute.md (1)

9-11: Align the example assertion with the documented contract

If the attribute is meant to be inclusive (11 ≤ x ≤ 19), update the assertion; if exclusive, say so in the text. Keeping code and prose in sync prevents copy-paste misuse.


combined with auto-generated data specimens generated by [AutoFixture](https://github.com/AutoFixture/AutoFixture) with a mocking library.

The member must return something compatible with `Enumerable<object[]>` with the test data.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix interface name typo

Enumerable<object[]>IEnumerable<object[]>

-The member must return something compatible with `Enumerable<object[]>` with the test data.
+The member must return an `IEnumerable<object[]>` containing the test data.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The member must return something compatible with `Enumerable<object[]>` with the test data.
The member must return an `IEnumerable<object[]>` containing the test data.
🤖 Prompt for AI Agents
In docs/attributes/member-auto-mock-data-attribute.md at line 11, correct the
interface name typo by changing `Enumerable<object[]>` to
`IEnumerable<object[]>` to use the proper interface name.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jul 7, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (b6495c7) to head (91e6cbe).
⚠️ Report is 3 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #262   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           39        39           
  Lines          424       424           
  Branches        55        55           
=========================================
  Hits           424       424           
Flag Coverage Δ
unittests 99.76% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🔭 Outside diff range comments (1)
.github/workflows/cicd.yml (1)

1-1: Remove the unexpected UTF-8 BOM

Line 1 contains a zero-width “BOM” character (\uFEFF) before name:.
Although most runners ignore it, certain tooling (e.g. yq, some linters) will choke on it.

-name: '♻️ CI/CD'
+name: '♻️ CI/CD'
♻️ Duplicate comments (1)
docs/attributes/member-auto-mock-data-attribute.md (1)

11-11: Fix interface name typo & add missing article
A duplicate of a prior review comment

-The member must return type compatible with `Enumerable<object[]>` containing the test data.
+The member must return a type compatible with `IEnumerable<object[]>` containing the test data.
🧹 Nitpick comments (9)
mkdocs.yml (1)

24-24: Strip trailing spaces & terminate file with a newline

YAML linters are currently flagging this line for:

  1. trailing spaces after badges.md
  2. missing newline at end-of-file

Both issues can break strict CI checks.

-  - Badges: badges.md␠␠
+  - Badges: badges.md
+
.github/workflows/cicd.yml (1)

7-18: Minor duplication – prefer paths-ignore for clearer intent

Using positive patterns plus negations works, but the four new negated entries (mkdocs.yml, docs.yml) are duplicated in both pull_request and push blocks.
Consider paths-ignore to make the exclusion explicit and DRY:

on:
  pull_request:
    paths-ignore:
      - mkdocs.yml
      - .github/workflows/docs.yml
  push:
    paths-ignore:
      - mkdocs.yml
      - .github/workflows/docs.yml

Functionally equivalent and easier to maintain.

Also applies to: 24-35

docs/supported-mocking-libraries.md (1)

4-5: Table delimiter alignment is off

Markdown requires the separator row to match the number of columns.
Column 1 currently ends with : (right-aligned) while column 2 starts with : (left-aligned); that’s fine, but the dash count is far longer than needed and can mislead future editors.

-| ---------------------------------------------------------:|:--------------------------- |
+| ------------------------------: | :----------------------- |

(Optional) add a trailing blank line to avoid EOF-newline warnings.

docs/index.md (1)

3-3: Hyphenate “open-source”

Compound adjective before a noun should be hyphenated for clarity.

-AutoFixture.XUnit2.AutoMock is a free, open source tool
+AutoFixture.XUnit2.AutoMock is a free, open-source tool
docs/attributes/member-auto-mock-data-attribute.md (1)

13-13: Insert comma after conjunctive adverb

-...before any test is run. Hence it should return independent object sets.
+...before any test is run. Hence, it should return independent object sets.
docs/tips-and-tricks.md (2)

5-5: Clarify the phrasing to improve readability

The expression “adding the mentioned interface as an argument” is hard to parse. A more direct wording improves flow.

-You can inject the same instance of `IFixture` into a test method by adding the mentioned interface as an argument of the test method.
+You can inject the same `IFixture` instance into your test simply by declaring an `IFixture` parameter in the method signature.

34-34: Minor grammar fixes (“the” + comma)

-Only `Substitute` property is explicitly marked as `virtual`. In such a situation, *the compiler* marks the remaining properties as `virtual` and `sealed`. Consequently [AutoFixture](https://github.com/AutoFixture/AutoFixture) assigns `null` value to those properties when the `IgnoreVirtualMembers` option is set to `true`.
+Only the `Substitute` property is explicitly marked as `virtual`. In this situation, *the compiler* marks the remaining properties as `virtual` and `sealed`, and, consequently, [AutoFixture](https://github.com/AutoFixture/AutoFixture) assigns a `null` value to those properties when `IgnoreVirtualMembers` is set to `true`.
.github/workflows/docs.yml (2)

61-66: Trim trailing whitespace

Line 66 ends with superfluous spaces, flagged by YAMLlint. Remove them to keep the file lint-clean.

-          path: ./site␠␠
+          path: ./site

77-77: Add a terminating newline

Unix convention and several linters require a final newline; add one to avoid lint noise.

-        uses: actions/deploy-pages@v4
+        uses: actions/deploy-pages@v4⏎
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b2310f4 and 6299b5a.

📒 Files selected for processing (12)
  • .github/workflows/cicd.yml (3 hunks)
  • .github/workflows/docs.yml (1 hunks)
  • README.md (1 hunks)
  • docs/attributes/auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/ignore-virtual-members-attribute.md (1 hunks)
  • docs/attributes/inline-auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/member-auto-mock-data-attribute.md (1 hunks)
  • docs/attributes/pick-negative-attribute.md (1 hunks)
  • docs/index.md (1 hunks)
  • docs/supported-mocking-libraries.md (1 hunks)
  • docs/tips-and-tricks.md (1 hunks)
  • mkdocs.yml (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • README.md
  • docs/attributes/pick-negative-attribute.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/attributes/inline-auto-mock-data-attribute.md
  • docs/attributes/ignore-virtual-members-attribute.md
  • docs/attributes/auto-mock-data-attribute.md
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/docs.yml

70-70: property "artifacts" is not defined in object type {deployment: {conclusion: string; outcome: string; outputs: {page_url: string}}}

(expression)

🪛 YAMLlint (1.37.1)
.github/workflows/docs.yml

[error] 66-66: trailing spaces

(trailing-spaces)


[error] 77-77: no new line character at the end of file

(new-line-at-end-of-file)

mkdocs.yml

[error] 24-24: no new line character at the end of file

(new-line-at-end-of-file)


[error] 24-24: trailing spaces

(trailing-spaces)

🪛 LanguageTool
docs/attributes/member-auto-mock-data-attribute.md

[uncategorized] ~11-~11: You might be missing the article “a” here.
Context: ...ocking library. The member must return type compatible with Enumerable<object[]> ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~13-~13: A comma may be missing after the conjunctive/linking adverb ‘Hence’.
Context: ... by .ToList() before any test is run. Hence it should return independent object set...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)

docs/index.md

[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... AutoFixture.XUnit2.AutoMock is a free, open source tool that accelerates the preparation o...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

docs/supported-mocking-libraries.md

[style] ~7-~7: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 1427 characters long)
Context: .../github.com/FakeItEasy/FakeItEasy) | [AutoFakeItEasy![Downloads](https://img.shields.io/nuget...

(EN_EXCESSIVE_EXCLAMATION)

docs/tips-and-tricks.md

[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...er Substitute { get; set; } } ``` Only Substitute property is explicitly marke...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~34-~34: Possible missing comma found.
Context: ...g properties as virtual and sealed. Consequently [AutoFixture](https://github.com/AutoFi...

(AI_HYDRA_LEO_MISSING_COMMA)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build-test-pack (AutoNSubstitute) / run
  • GitHub Check: build-test-pack (AutoFakeItEasy) / run
  • GitHub Check: build-test-pack (Core) / run
  • GitHub Check: build-test-pack (AutoMoq) / run

Comment on lines +68 to +71
environment:
name: github-pages
url: ${{ steps.artifacts.outputs.page_url }}
runs-on: ubuntu-latest
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

environment.url points to a non-existent output – workflow will fail

actions/upload-pages-artifact (step artifacts) doesn’t expose a page_url output.
The page_url comes from actions/deploy-pages, which you already invoke in the step with id deployment. Reference that step instead:

-  url: ${{ steps.artifacts.outputs.page_url }}
+  url: ${{ steps.deployment.outputs.page_url }}

Without this change actionlint (and the runtime run) will error out with “property … is not defined”.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
environment:
name: github-pages
url: ${{ steps.artifacts.outputs.page_url }}
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
🧰 Tools
🪛 actionlint (1.7.7)

70-70: property "artifacts" is not defined in object type {deployment: {conclusion: string; outcome: string; outputs: {page_url: string}}}

(expression)

🤖 Prompt for AI Agents
In .github/workflows/docs.yml around lines 68 to 71, the environment.url is
incorrectly set to use an output named page_url from the step with id artifacts,
which does not exist. To fix this, change the reference to use the output
page_url from the step with id deployment, which is the correct source of this
output. This will prevent actionlint and runtime errors about undefined
properties.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
mkdocs.yml (2)

16-18: Quote the CustomizeWith<T> key to avoid YAML edge-case parsing issues

Although most YAML parsers accept angle brackets inside plain scalars, quoting the value makes the intent explicit and eliminates any risk of a mis-parse by stricter tooling or syntax highlighters.

-          - CustomizeWith<T>: attributes/customize-with-t-attribute.md
+          - "CustomizeWith<T>": attributes/customize-with-t-attribute.md

23-23: Append a trailing newline

yamllint flags the missing newline at EOF (new-line-at-end-of-file).
Adding it keeps the file POSIX-compliant and silences the linter.

-  - Tips and Tricks: tips-and-tricks.md
+  - Tips and Tricks: tips-and-tricks.md
+
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6299b5a and b937bee.

📒 Files selected for processing (1)
  • mkdocs.yml (1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
mkdocs.yml

[error] 23-23: no new line character at the end of file

(new-line-at-end-of-file)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build-test-pack (AutoNSubstitute) / run
  • GitHub Check: build-test-pack (AutoFakeItEasy) / run
  • GitHub Check: build-test-pack (Core) / run
  • GitHub Check: build-test-pack (AutoMoq) / run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants