के बाद मेरी सामान्य आधार भंडार इंटरफ़ेसMoq पैरामीटर TargetParameterCountException: पैरामीटर गिनती बेमेल अपवाद
public interface IRepository<T>
{
IQueryable<T> AllIncluding(params Expression<Func<T,
object>>[] includeProperties);
}
मेरी इकाई
public class Sdk
{
public Sdk()
{
this.Identifier = Guid.NewGuid().ToString();
}
public virtual ICollection<Resource> AccessibleResources { get; set; }
public string Identifier { get; set; }
}
है और निम्न अब मैं कर रहा हूँ विशिष्ट रेपो
public interface ISdkRepository : IRepository<Sdk>
{
}
है moq
का उपयोग करके नियंत्रक का परीक्षण करने का प्रयास कर रहा हैके बाद कोड मैं निम्नलिखित परीक्षण
[Test]
public void Can_Get_GetResources()
{
var cid = Guid.NewGuid().ToString();
var mockRepo = new Moq.Mock<ISdkRepository>();
var sdks = new HashSet<Sdk>()
{
new Sdk()
{
Identifier = cid,
AccessibleResources = new HashSet<Resource>()
{
new Resource()
{
Id = Guid.NewGuid(),
Description = "This is sdk"
}
}
}
};
mockRepo.Setup(k => k.
AllIncluding(It.IsAny<Expression<Func<Sdk,object>>[]>()))
.Returns(sdks.AsQueryable);
var sdkCtrl = new SdksController(mockRepo.Object);
var returnedJson=sdkCtrl.GetResources(cid);
returnedJson.ToString();
}
का उपयोग कर
public ActionResult GetResources(string clientId) {
var sdkObject = sdkRepository
.AllIncluding(k => k.AccessibleResources)
.SingleOrDefault(k => k.Identifier == clientId);
if (sdkObject == null)
throw new ApplicationException("Sdk Not Found");
return Json(sdkObject.AccessibleResources.ToList());
}
परीक्षण करने के लिए कोशिश कर रहा हूँ है और यह फेंकने जाता है:
System.Reflection.TargetParameterCountException: पैरामीटर गिनती बेमेल
पता नहीं क्यों?
में के रूप में
Returns
में अभिव्यक्ति में आर्ग की एक ही राशि के साथ कार्य करना कर सकते हैं आप स्टैक ट्रेस पेस्ट करते हैं? – Raghu