public interface IMyServer
{
[OperationContract]
[DynamicResponseType]
[WebGet(UriTemplate = "info")]
string ServerInfo();
}
如何编写NUnit测试以证明C#接口方法上设置了[DynamicResponseType]
属性?
答案 0 :(得分:18)
类似的东西:
Assert.IsTrue(Attribute.IsDefined(
typeof(IMyServer).GetMethod("ServerInfo"),
typeof(DynamicResponseTypeAttribute)));
您还可以执行涉及泛型和委托或表达式(而不是字符串“ServerInfo”)的操作,但我不确定它是否值得。
[WebGet]
:
WebGetAttribute attrib = (WebGetAttribute)Attribute.GetCustomAttribute(
typeof(IMyServer).GetMethod("ServerInfo"),
typeof(WebGetAttribute));
Assert.IsNotNull(attrib);
Assert.AreEqual("info", attrib.UriTemplate);