मुझे Moq का उपयोग करके मॉकिंग से सत्र मान सेट को वापस करने में समस्याएं आ रही हैं। निम्नलिखितमोक मॉकिंग और सत्र मूल्यों को ट्रैक करना
public class TestHelpers
{
public long sessionValue = -1;
public HttpContextBase FakeHttpContext()
{
var httpContext = new Mock<HttpContextBase>();
var session = new Mock<HttpSessionStateBase>();
httpContext.Setup(x => x.Session).Returns(session.Object);
httpContext.SetupGet(x => x.Session["id"]).Returns(sessionValue);
httpContext.SetupSet(x => x.Session["id"] = It.IsAny<long>())
.Callback((string name, object val) =>
{
sessionValue = (long)val;
});
}
}
जब मैं
var th = new TestHelpers();
HttpContextBase httpContext = th.FakeHttpContext();
का उपयोग कर कुछ सामान सत्र सेट ऐसा बाहर मूल्य प्राप्त करने के लिए कोशिश [ "आईडी"]
var sessionid = httpContext.Session["id"];
sessionid का उपयोग करने के लिए पता चला है -1 हो। लेकिन मैं
th.sessionValue
का उपयोग कर सेट सत्र मान प्राप्त कर सकता है क्या गलत है? क्या मैं बस मोक के माध्यम से सेट वैल्यू वापस नहीं कर सकता?
यह मेरे लिए काम नहीं करता है: @ कोनामीमम सही प्रतीत होता है कि कलकबैक नहीं निकाला जाता है। सही दृष्टिकोण यहां प्रतीत होता है: http://stackoverflow.com/a/2921695/213609 –