Наиболее распространенным способом установки модулей python является PyPy. См. Страницу модуля на странице https://pypi.python.org/pypi/python-linkedin . Он содержит инструкции по установке.
$ pip install python-linkedin
Проект smtp4dev - еще один фиктивный SMTP-сервер. Мне это нравится, потому что у него красивый и простой пользовательский интерфейс, который регистрирует сообщения и позволяет просматривать содержимое последних сообщений. Написано на C # с помощью установщика MSI. Исходный код доступен.
есть также мой собственный http://ssfd.codeplex.com/ , который представляет собой эмулятор SMTP с открытым исходным кодом. Получает электронные письма и помещает их в папку, доступ к которой можно получить с помощью значка задачи
DevNull SMTP-сервер регистрирует все кровавые подробности о связи между клиентом и SMTP-сервером. Похоже, это было бы полезно, если бы вы пытались диагностировать, почему ваш код отправки не работает.
Он написан на Java и развертывается как исполняемый файл jar. Исходный код недоступен.
Если вы находитесь на Mac OS X, вы можете использовать MOCKSMTP.APP
Блоки являются замыканиями, и arg
действительно доступен внутри блока Class.new
. Он просто недоступен в методе foo
, поскольку def
запускает новую область. Если заменить def
на define _ method
, который принимает блок, вы увидите нужный результат:
def R(arg)
Class.new do
define_method(:foo) do
puts arg
end
end
end
class A < R("Hello!")
end
A.new.foo # Prints: Hello!
-121--1665181- Для использования темы пользовательского интерфейса jQuery используйте следующий код:
$('#'+gridName+' tr:nth-child(even)').removeClass("ui-priority-secondary");
$('#'+gridName+' tr:nth-child(odd)').addClass("ui-priority-secondary");
Я использую этот код при выполнении сортировки вручную (перетаскивание)
-121--3153611-Для .NET ребята там. Держать это просто.
Мы изучали это, а затем один из разработчиков вспомнил о настройке конфигурации, которая позволяет переопределить способ отправки сообщений электронной почты.
Это создаст файл для каждого сообщения электронной почты и оставит его в покое.
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="\\SharedFolder\MailDrop\" />
</smtp>
</mailSettings>
</system.net>
В .NET SmtpClient можно настроить для отправки электронной почты, поместив его в каталог получения.
Конструктор SmtpClient по умолчанию берет свои настройки из app.config, поэтому для тестовой среды мы можем настроить его следующим образом.
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="specifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="path to a directory" />
</smtp>
</mailSettings>
</system.net>
</configuration>
Ссылка MSDN - элемент app.config mailSettings http://msdn.microsoft.com/en-us/library/w355a94k.aspx
Существует также Papercut, который является сервером SMTP, который получит сообщения, но не поставит им куда угодно (разрешающий Вам удостовериться, что они отправляются правильно). Полученные сообщения видимы в маленьком GUI и также записаны в каталог.
Я думаю сообщение в блоге А, Простая Насмешка Сервера SMTP для.NET дает Вам, в чем Вы нуждаетесь: насмешка сервера SMTP
А, насмешка сервера SMTP является в основном поддельным сервером SMTP, который может использоваться для поблочного тестирования приложений, которые отправляют электронные письма.
кроме того, поиск Google smtp ложный сервер предоставит Вам выбор серверов SMTP для тестирования. Как:
Альтернативный способ сделать это должно создать обертку вокруг SmtpClient, который реализует тот же интерфейс. Затем введите и используйте обертку в своем классе. При выполнении поблочного тестирования можно затем заменить ложной оберткой, которая имеет ожидания вызовов метода и ответов.
РЕДАКТИРОВАНИЕ : обертка необходима (для RhinoMocks, по крайней мере), потому что SmtpClient не происходит из интерфейса и не имеет виртуальных методов. При использовании платформы насмешки, которая может дразнить класс без виртуальных методов непосредственно, можно пропустить обертку и ввести насмешку SmtpClient непосредственно.
public class SmtpClientWrapper
{
private SmtpClient Client { get; set; }
public SmtpClientWrapper( SmtpClient client )
{
this.Client = client;
}
public virtual void Send( MailMessage msg )
{
this.Client.Send( msg );
}
...
}
public class MyClass
{
private SmtpClientWrapper Client { get; set; }
public MyClass( SmtpClientWrapper client )
{
this.Client = client;
}
public void DoSomethingAndNotify()
{
...
this.Client.Send( msg );
}
}
Протестированный (с RhinoMocks) как:
public void DoSomethingAndNotifySendsAMessageTest()
{
SmtpClientWrapper client = MockRepository.GenerateMock<SmtpClientWrapper>();
client.Expect( c => c.Send( new MailMessage() ) ).IgnoreArguments();
MyClass klass = new MyClass( client );
klass.DoSomethingAndNotify();
client.VerifyAllExpectations();
}