سؤال

يبدو أنني أتذكر القراءة عن خادم اختبار متوافق مع Amazon S3 والذي يمكنك تشغيله على الخادم الخاص بك لاختبارات الوحدة أو أي شيء آخر.ومع ذلك، لقد استنفدت للتو صبري في البحث عن هذا مع كل من Google وAWS.هل يوجد شيء كهذا؟إذا لم يكن الأمر كذلك، أعتقد أنني سأكتب واحدة.

ملحوظة:أنا أسأل عن Amazon S3 (نظام التخزين) بدلاً من Amazon EC2 (الحوسبة السحابية).

هل كانت مفيدة؟

المحلول

هل تفكر في مكان الحديقة?

لمعلوماتك، لها الصفحة الرئيسية القديمة غير متصل الآن.

نصائح أخرى

أعتقد موتو (https://github.com/spulec/moto) هي الأداة المثالية لاختبارات الوحدات الخاصة بك.يسخر Moto من جميع عمليات الوصول إلى S3 وSQS وما إلى ذلك.ويمكن استخدامها بأي لغة برمجة باستخدام خادم الويب الخاص بهم.

إنه سهل الإعداد وخفيف الوزن وسريع.

من الملف التمهيدي للموتو:

تخيل أن لديك الكود التالي الذي تريد اختباره:

import boto
from boto.s3.key import Key

class MyModel(object):
    def __init__(self, name, value):
        self.name = name
        self.value = value

    def save(self):
        conn = boto.connect_s3()
        bucket = conn.get_bucket('mybucket')
        k = Key(bucket)
        k.key = self.name
        k.set_contents_from_string(self.value)

خذ دقيقة للتفكير في كيفية اختبار ذلك في الماضي.انظر الآن كيف يمكنك اختباره باستخدام Moto:

import boto
from moto import mock_s3
from mymodule import MyModel

@mock_s3
def test_my_model_save():
    model_instance = MyModel('steve', 'is awesome')
    model_instance.save()

    conn = boto.connect_s3()
    assert conn.get_bucket('mybucket').get_key('steve') == 'is awesome'

انتقل بارك بليس إلى جيثب:http://github.com/technoweenie/parkplace

الأوكالبتوس http://eucalyptus.cs.ucsb.edu/

Eucalyptus - بنية الحوسبة المرنة المرتبطة لربط برامجك بالأنظمة المفيدة - هي بنية تحتية للبرامج مفتوحة المصدر لتنفيذ "الحوسبة السحابية" على المجموعات.تتوافق الواجهة الحالية لـ Eucalyptus مع واجهة EC2 الخاصة بـ Amazon ، ولكن البنية التحتية مصممة لدعم واجهات متعددة من جانب العميل.

لاحظ أنه وفقًا للوثائق، يتضمن Eucalypus إعادة تنفيذ ليس فقط لواجهة EC2 ولكن أيضًا لنظام التخزين S3.يسمى مكون التخزين هذا Walrus.(http://open.eucalyptus.com/wiki/EucalyptusUserGuide_v1.5.2)

وهمية S3 يبدو أنه إعادة تنفيذ محدثة لـ S3، والمصممة خصيصًا للاستخدام في الاختبار.

لقد واجهنا مشكلة اختبار التعليمات البرمجية المستندة إلى S3 محليًا وقمنا بالفعل بتنفيذ خادم Java صغير، والذي يحاكي واجهة برمجة تطبيقات كائن S3.نظرًا لأنه قد يكون مفيدًا للآخرين، قمنا بإعداد جيثب ريبو مع موقع ويب صغير: http://s3ninja.net - جميع المصادر المفتوحة بموجب ترخيص MIT.

إنه صغير جدًا وبسيط ويمكن إعداده في دقائق.(كونه سيريوس تطبيق قائم على التطبيق، يستغرق الإعداد على خادم معتدل أقل من ثانية).

تستخدم أمازون Xen، لذلك ربما يمكنك فقط تشغيل AMI الخاص بك في تثبيت Xen الخاص بك.سأقوم فقط بتشغيل مثيل وإجراء الاختبارات هناك.إنه لا يكلف الكثير ويجب أن تكون جيدًا عادةً في تطويره محليًا واختباره بشكل غير متكرر على نظامهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top