Вы могли бы пытаться протестировать в слишком глубокой начальной точке. Тест не должен быть создан для тестирования каждого метода индивидуально; закрытые и статические методы должны быть протестированы путем вызова открытых методов, которые тогда называют частные и статические в свою очередь.
Так позволяет, говорят, что Ваш код похож на это:
public object GetData()
{
object obj1 = GetDataFromWherever();
object obj2 = TransformData(obj1);
return obj2;
}
private static object TransformData(object obj)
{
//Do whatever
}
Вы не должны писать тест против метода TransformData (и Вы не можете). Вместо этого запишите тест для метода GetData, который тестирует работу, сделанную в TransformData.
Так как memmap принимает не дескриптор открытого файла, а имя файла, я полагаю, вы утекаете файловый дескриптор temp_fd
. Помогает ли os.close (temp_fd)
?
Отлично, что он работает.
Поскольку вы можете передать numpy.memmap файловый объект, вы можете создать его из уже имеющегося файлового дескриптора , temp_fd
.
fobj = os.fdopen(temp_fd, "w+")
numpy.memmap(fobj, ...