Skip to content

Лаба 5 — Архітектурні правила (NetArchTest)#28

Open
VlasenkoMykola wants to merge 22 commits into
lenagrin:masterfrom
VlasenkoMykola:lab5
Open

Лаба 5 — Архітектурні правила (NetArchTest)#28
VlasenkoMykola wants to merge 22 commits into
lenagrin:masterfrom
VlasenkoMykola:lab5

Conversation

@VlasenkoMykola
Copy link
Copy Markdown

Автор: Власенко Микола (VlasenkoMykola)

Додано пакет NetArchTest.Rules до тестового проекту та створено файл ArchitectureTests.cs з 4 архітектурними тестами:

Messages_Should_Not_Depend_On_Networking перевіряє, що класи з простору імен NetSdrClientApp.Messages не залежать від NetSdrClientApp.Networking (розділення шарів).
Networking_Should_Not_Depend_On_Messages перевіряє зворотне: класи з NetSdrClientApp.Networking не залежать від NetSdrClientApp.Messages.
Networking_Interfaces_Should_Not_Have_Dependency_On_System_Net_Sockets перевіряє, що інтерфейси в Networking не залежать напряму від System.Net.Sockets, що забезпечує транспортну незалежність абстракцій.
MessageHelper_Should_Be_Static перевіряє, що Helper-класи в Messages є статичними (відповідають патерну утилітного класу).
Для демонстрації було навмисно додано порушення - метод GetDefaultClientType() у NetSdrMessageHelper, який створював залежність Messages > Networking. Тест Messages_Should_Not_Depend_On_Networking виявив це порушення і CI став червоним. Після видалення порушення CI став зеленим.

image image

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.

1 participant