Lui*_*ipe 5 c# fluent-assertions
我试图找到最流畅的方式来断言某个字符串是有效的 Guid。
iterTags.GUID是一个string.
我的第一次尝试以错误结束,因为string没有实现Guid. 好吧,我看到了它的到来,因为它是在黑暗中拍摄的
iterTags.GUID.Should().BeAssignableTo<Guid>();
Run Code Online (Sandbox Code Playgroud)
所以我想出了这个工作解决方案,但它并不流畅
Guid parsedGuid;
if (!Guid.TryParseExact(iterTags.GUID, "D", out parsedGuid))
Assert.Fail("iterTags.GUID: '{0}' is not a valid guid");
Run Code Online (Sandbox Code Playgroud)
阅读文档后,我发现没有更好的方法来进行断言。
我的问题:是否有一种流畅的方法来断言字符串是有效的Guid
或许,类似...
iterTags.GUID.Should().BeParsedAs<Guid>()
Run Code Online (Sandbox Code Playgroud)
Guid parsedGuid;
Guid.TryParseExact(iterTags.GUID, "D", out parsedGuid).Should.BeTrue("because {0} is a valid Guid string representation", iterTags.GUID);
Run Code Online (Sandbox Code Playgroud)
或者
new Action(() => new Guid(iterTags.GUID)).ShouldNotThrow("because {0} is a valid Guid string representation", iterTags.GUID);
Run Code Online (Sandbox Code Playgroud)