отправьте подтверждение sms android, чтобы не видеть отправленное сообщение [duplicate]

Супер опоздал на вечеринку, но мне не удалось сделать эти работы для setUpClass.

Вот версия ответа @ Хавьера , которая дает setUpClass доступ к динамическому выделенные атрибуты.

import unittest


class GeneralTestCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print ''
        print cls.p1
        print cls.p2

    def runTest1(self):
        self.assertTrue((self.p2 - self.p1) == 1)

    def runTest2(self):
        self.assertFalse((self.p2 - self.p1) == 2)


def load_tests(loader, tests, pattern):
    test_cases = unittest.TestSuite()
    for p1, p2 in [(1, 2), (3, 4)]:
        clsname = 'TestCase_{}_{}'.format(p1, p2)
        dct = {
            'p1': p1,
            'p2': p2,
        }
        cls = type(clsname, (GeneralTestCase,), dct)
        test_cases.addTest(cls('runTest1'))
        test_cases.addTest(cls('runTest2'))
    return test_cases

Выходы

1
2
..
3
4
..
----------------------------------------------------------------------
Ran 4 tests in 0.000s

OK

0
задан jjreply 18 September 2014 в 07:02
поделиться

1 ответ

До появления KitKat, отправляемого с помощью функции SmsManager, приложение отправляет сообщение, чтобы вставить его в Провайдер, поэтому было бы просто опустить это.

Начиная с KitKat, любое приложение который не является стандартным SMS-приложением, и использует SmsManager для отправки сообщений, будет автоматически передаваться сообщениям Провайдерам в системе. Невозможно предотвратить это, и, кроме того, приложение также не сможет удалить эти сообщения, так как у него не будет доступа на запись к Поставщику. *

Приложение, которое является приложение SMS по умолчанию отвечает за запись своих исходящих сообщений, поэтому он сможет опустить этот шаг. Система не выполняет автоматическую запись для SMS-приложения по умолчанию.


* В 4.4 только есть дыра безопасности, благодаря которой приложение, отличное от по умолчанию, может получить доступ к записи поставщику. Подробно в мой ответ здесь , но он не будет работать в версиях после KitKat.

1
ответ дан Community 26 August 2018 в 14:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: