You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
provides Roslyn analyzers to help use abstractions over static methods.
160
-
161
153
## Relationship with Testably.Abstractions
162
154
163
155
[`Testably.Abstractions`](https://github.com/Testably/Testably.Abstractions) is a complementary project that uses the same interfaces as TestableIO. This means **no changes to your production code are necessary** when switching between the testing libraries.
156
+
Both projects share the same maintainer, but active development and new features are primarily focused on the Testably.Abstractions project. TestableIO.System.IO.Abstractions continues to be maintained for stability and compatibility, but significant new functionality is unlikely to be added.
164
157
165
158
### When to use Testably.Abstractions vs TestableIO
166
159
-**Use TestableIO.System.IO.Abstractions** if you need:
@@ -175,6 +168,7 @@ public class SomeClassUsingFileSystemWatcher
175
168
- More extensive and consistent behavior validation
176
169
- Active development and new features
177
170
171
+
178
172
### Migrating from TestableIO
179
173
Switching from TestableIO to Testably only requires changes in your test projects:
180
174
@@ -206,18 +200,10 @@ Switching from TestableIO to Testably only requires changes in your test project
206
200
207
201
Your production code using `IFileSystem` remains unchanged.
208
202
209
-
### Architectural Differences
210
-
211
-
The main architectural difference lies in how the mock file systems handle state:
203
+
## Other related projects
212
204
213
-
-**TestableIO.System.IO.Abstractions** allows direct access to stored entities (`MockFileData` and `MockDirectoryData`), which can make maintaining consistent state challenging, especially for features like correct `LastAccessTime` and `LastWriteTime` updates.
214
-
215
-
-**Testably.Abstractions** uses a more restrictive approach that only allows manipulation through normal file system operations, enabling advanced scenarios like consistent time updates, FileSystemWatcher support, and multi-drive simulation.
216
-
217
-
### Testing and Compatibility
218
-
219
-
`Testably.Abstractions` features a more extensive test suite that runs against real file systems on Linux, Windows, and macOS. This ensures that tested scenarios work identically on both the mock and real file systems.
provides convenience functionality on top of the core abstractions.
222
207
223
-
Both projects share the same maintainer, but active development and new features are primarily focused on the Testably.Abstractions project. TestableIO.System.IO.Abstractions continues to be maintained for stability and compatibility, but significant new functionality is unlikely to be added.
0 commit comments