я закончил с этой спецификацией
public abstract class Specification <C> where C: Controller
{
protected C controller;
HttpContextBase mockHttpContext;
HttpRequestBase mockRequest;
protected Exception ExceptionThrown { get; private set; }
[SetUp]
public void Setup()
{
mockHttpContext = MockRepository.GenerateMock<HttpContextBase>();
mockRequest = MockRepository.GenerateMock<HttpRequestBase>();
mockHttpContext.Stub(x => x.Request).Return(mockRequest);
mockRequest.Stub(x => x.HttpMethod).Return("GET");
EstablishContext();
SetHttpContext();
try
{
When();
}
catch (Exception exc)
{
ExceptionThrown = exc;
}
}
protected void SetHttpContext()
{
var context = new ControllerContext(mockHttpContext, new RouteData(), controller);
controller.ControllerContext = context;
}
protected T Mock<T>() where T: class
{
return MockRepository.GenerateMock<T>();
}
protected abstract void EstablishContext();
protected abstract void When();
[TearDown]
public virtual void TearDown()
{
}
}
, и сок здесь
[TestFixture]
public class When_invoking_ManageUsersControllers_Update :Specification <ManageUsersController>
{
private IUserRepository userRepository;
FormCollection form;
ActionResult result;
User retUser;
protected override void EstablishContext()
{
userRepository = Mock<IUserRepository>();
controller = new ManageUsersController(userRepository);
retUser = new User();
userRepository.Expect(x => x.GetById(5)).Return(retUser);
userRepository.Expect(x => x.Update(retUser));
form = new FormCollection();
form["IdUser"] = 5.ToString();
form["Name"] = 5.ToString();
form["Surename"] = 5.ToString();
form["Login"] = 5.ToString();
form["Password"] = 5.ToString();
}
protected override void When()
{
result = controller.Edit(5, form);
}
[Test]
public void is_retrieved_before_update_original_user()
{
userRepository.AssertWasCalled(x => x.GetById(5));
userRepository.AssertWasCalled(x => x.Update(retUser));
}
}
, обладают
А, вы используете Java.
Обратите внимание, что, по моему мнению, вы всегда следует указывать альтернативу в виде обычного текста в электронном письме в формате HTML.
Этот код также позволяет вам встроить изображения (на которые есть ссылка в HTML с помощью
, но не во всех почтовых клиентах поддержите это.
MimeMessage mm = prepareMessage(from, to, subject, cc, bcc);
MimeMultipart mp = new MimeMultipart("alternative");
// Attach Plain Text
MimeBodyPart plain = new MimeBodyPart();
plain.setText(plainText);
mp.addBodyPart(plain);
/*
* Any attached images for the HTML portion of the email need to be encapsulated with
* the HTML portion within a 'related' MimeMultipart. Hence we create one of these and
* set it as a bodypart for the overall message.
*/
MimeMultipart htmlmp = new MimeMultipart("related");
MimeBodyPart htmlbp = new MimeBodyPart();
htmlbp.setContent(htmlmp);
mp.addBodyPart(htmlbp);
// Attach HTML Text
MimeBodyPart html = new MimeBodyPart();
html.setContent(htmlText, "text/html");
htmlmp.addBodyPart(html);
// Attach template images (EmailImage is a simple class that holds image data)
for (EmailImage ei : template.getImages()) {
MimeBodyPart img = new MimeBodyPart();
img.setContentID(ei.getFilename());
img.setFileName(ei.getFilename());
ByteArrayDataSource bads = new ByteArrayDataSource(ei.getImageData(), ei.getMimeType());
img.setDataHandler(new DataHandler(bads));
htmlmp.addBodyPart(img);
}
mm.setContent(mp);
Вы устанавливаете MIME-тип содержимого на text / html в этой части сообщения электронной почты?
Или вы просматриваете с помощью Outlook - программа просмотра Outlook использует Word, чтобы отображать HTML вместо использования механизма визуализации IE, как это было бы с любым разумным дизайном. Это означает, что значительное форматирование может быть потеряно.
Или попробуйте другой шрифт. Пара шрифтов не определяет жирные варианты. Однако это маловероятно, большинство методов рендеринга шрифтов позволяют автоматически выделять жирный шрифт нежирным шрифтом.
какой язык программирования вы используете для отправки электронной почты.
На любом языке должна быть опция вроде «IsBodyHtml». Чтобы сделать эту проверку «Верно». Как код .NET
System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage (); mm.IsBodyHtml = true;
Таким образом, почта будет отправляться в виде текста HTML.
Трудно получить окончательный ответ на этот вопрос. Есть много причин, по которым что-то может не работать. Вот некоторые вещи, которые вы можете проверить, чтобы попытаться выявить проблему.
Распознаются ли другие теги HTML? например.
,
? Если да, пробовали ли вы использовать тег
вместо
?
Проверьте источник сообщения в программе чтения электронной почты. Возможно, символы '<' или '>' были экранированы как '& lt;' или '& gt;' перед отправкой.
Вы пробовали просматривать электронную почту в другом приложении, например, в веб-почте или на компьютере?
Попробуйте использовать CSS, чтобы изменить font-weight:
.important-text { font-weight: bold; }
<span class=".important-text">Super important text</span>